Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ea3e00e771db7d80e9fb207b881da3189913780a https://github.com/WebKit/WebKit/commit/ea3e00e771db7d80e9fb207b881da3189913780a Author: Sam Weinig <s...@webkit.org> Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths: A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-anonymous-negative.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-anonymous-negative.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-anonymous.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-anonymous.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-use-credentials-negative.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-use-credentials-negative.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-use-credentials.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-use-credentials.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer-when-downgrade/url-image-referrerpolicy-cross-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer-when-downgrade/url-image-referrerpolicy-cross-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer-when-downgrade/url-image-referrerpolicy-same-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer-when-downgrade/url-image-referrerpolicy-same-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer/url-image-referrerpolicy-cross-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer/url-image-referrerpolicy-cross-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer/url-image-referrerpolicy-same-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer/url-image-referrerpolicy-same-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin-when-cross-origin/url-image-referrerpolicy-cross-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin-when-cross-origin/url-image-referrerpolicy-cross-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin-when-cross-origin/url-image-referrerpolicy-same-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin-when-cross-origin/url-image-referrerpolicy-same-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin/url-image-referrerpolicy-cross-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin/url-image-referrerpolicy-cross-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin/url-image-referrerpolicy-same-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin/url-image-referrerpolicy-same-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/same-origin/url-image-referrerpolicy-cross-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/same-origin/url-image-referrerpolicy-cross-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/same-origin/url-image-referrerpolicy-same-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/same-origin/url-image-referrerpolicy-same-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin-when-cross-origin/url-image-referrerpolicy-cross-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin-when-cross-origin/url-image-referrerpolicy-cross-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin-when-cross-origin/url-image-referrerpolicy-same-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin-when-cross-origin/url-image-referrerpolicy-same-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin/url-image-referrerpolicy-cross-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin/url-image-referrerpolicy-cross-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin/url-image-referrerpolicy-same-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin/url-image-referrerpolicy-same-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/unsafe-url/url-image-referrerpolicy-cross-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/unsafe-url/url-image-referrerpolicy-cross-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/unsafe-url/url-image-referrerpolicy-same-origin.sub-expected.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/unsafe-url/url-image-referrerpolicy-same-origin.sub.html A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/support/1x1-green.png A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/support/1x1-navy.png A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/support/1x1-red.png A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/support/image-referrerpolicy.py A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/support/image-referrerpolicy.sub.js A LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/url-image-ref.html M LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/url-request-modifiers-computed.sub-expected.txt M LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/url-request-modifiers-serialize.sub-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-values/urls/url-request-modifiers-computed.sub-expected.txt M LayoutTests/platform/glib/imported/w3c/web-platform-tests/css/css-values/urls/url-request-modifiers-serialize.sub-expected.txt M Source/WebCore/css/CSSImageValue.cpp M Source/WebCore/css/parser/CSSPropertyParser.cpp M Source/WebCore/css/parser/CSSPropertyParserConsumer+Filter.cpp M Source/WebCore/css/parser/CSSPropertyParserConsumer+Font.cpp M Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.cpp M Source/WebCore/css/parser/CSSPropertyParserConsumer+Masking.cpp M Source/WebCore/css/parser/CSSPropertyParserConsumer+Motion.cpp M Source/WebCore/css/parser/CSSPropertyParserConsumer+URL.cpp M Source/WebCore/css/parser/CSSPropertyParserConsumer+URL.h M Source/WebCore/css/scripts/process-css-properties.py M Source/WebCore/css/scripts/test/TestCSSProperties.json M Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSPropertyNames.gperf M Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSPropertyNames.h M Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSPropertyParsing.cpp M Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSStyleProperties+PropertyNames.idl M Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleBuilderGenerated.cpp M Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleInterpolationWrapperMap.cpp M Source/WebCore/css/values/primitives/CSSURLModifiers.cpp Log Message: ----------- [CSS URL Request Modifiers] Support crossorigin() and referrerpolicy() modifiers on CSS image loads https://bugs.webkit.org/show_bug.cgi?id=291379 Reviewed by Darin Adler. Adds support for applying crossorigin() and referrerpolicy() URL request modifiers to CSS image loads. The integrity() modifier is not fully implemented in this change as it is not immediately clear where the best place to add the integrity check in the current image loading pipeline would be. It will added in a follow up. This does mean however that we temporarily will start failing some of the parsing/serialization tests that involve integrity() as we were falsely passing them previously. As only CSS images currently support the feature, parsing of the modifiers has been disabled for all other consumers of the <url> production via a new opt-in "allowed modifiers" parameter. * Source/WebCore/css/CSSImageValue.cpp: (WebCore::CSSImageValue::loadImage): - Use the shared CSS::applyModifiersToLoaderOptions to apply the modifiers. This includes loadedFromOpaqueSource, which can now be removed from this call site. * Source/WebCore/css/values/primitives/CSSURLModifiers.cpp: (WebCore::CSS::applyModifiersToLoaderOptions): - Ensure fetch option credentials is set to "same-origin" for cors mode crossorigin(anonymous) image requests. This matches the spec (which currently says even no-cors requests should use "same-origin", but that doesn't seem correct so we are not changing that) as well as our behavior for anonymous mask image requests in StylePendingResources. * Source/WebCore/css/parser/CSSPropertyParser.cpp: * Source/WebCore/css/parser/CSSPropertyParserConsumer+Filter.cpp: * Source/WebCore/css/parser/CSSPropertyParserConsumer+Font.cpp: * Source/WebCore/css/parser/CSSPropertyParserConsumer+Image.cpp: * Source/WebCore/css/parser/CSSPropertyParserConsumer+Masking.cpp: * Source/WebCore/css/parser/CSSPropertyParserConsumer+Motion.cpp: * Source/WebCore/css/parser/CSSPropertyParserConsumer+URL.cpp: * Source/WebCore/css/parser/CSSPropertyParserConsumer+URL.h: * Source/WebCore/css/scripts/process-css-properties.py: - Add new "AllowedURLModifiers" parameter for URL parsing and adopt it. * Source/WebCore/css/scripts/test/TestCSSProperties.json: * Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSPropertyNames.gperf: * Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSPropertyNames.h: * Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSPropertyParsing.cpp: * Source/WebCore/css/scripts/test/TestCSSPropertiesResults/CSSStyleProperties+PropertyNames.idl: * Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleBuilderGenerated.cpp: * Source/WebCore/css/scripts/test/TestCSSPropertiesResults/StyleInterpolationWrapperMap.cpp: - Add tests for using the "allowed-modifiers" attribute on <url> productions. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/url-request-modifiers-computed.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/url-request-modifiers-serialize.sub-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-anonymous-negative.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-anonymous-negative.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-anonymous.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-anonymous.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-use-credentials-negative.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-use-credentials-negative.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-use-credentials.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/cross-origin/url-image-crossorigin-use-credentials.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer-when-downgrade/url-image-referrerpolicy-cross-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer-when-downgrade/url-image-referrerpolicy-cross-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer-when-downgrade/url-image-referrerpolicy-same-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer-when-downgrade/url-image-referrerpolicy-same-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer/url-image-referrerpolicy-cross-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer/url-image-referrerpolicy-cross-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer/url-image-referrerpolicy-same-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/no-referrer/url-image-referrerpolicy-same-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin-when-cross-origin/url-image-referrerpolicy-cross-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin-when-cross-origin/url-image-referrerpolicy-cross-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin-when-cross-origin/url-image-referrerpolicy-same-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin-when-cross-origin/url-image-referrerpolicy-same-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin/url-image-referrerpolicy-cross-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin/url-image-referrerpolicy-cross-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin/url-image-referrerpolicy-same-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/origin/url-image-referrerpolicy-same-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/same-origin/url-image-referrerpolicy-cross-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/same-origin/url-image-referrerpolicy-cross-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/same-origin/url-image-referrerpolicy-same-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/same-origin/url-image-referrerpolicy-same-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin-when-cross-origin/url-image-referrerpolicy-cross-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin-when-cross-origin/url-image-referrerpolicy-cross-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin-when-cross-origin/url-image-referrerpolicy-same-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin-when-cross-origin/url-image-referrerpolicy-same-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin/url-image-referrerpolicy-cross-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin/url-image-referrerpolicy-cross-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin/url-image-referrerpolicy-same-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/strict-origin/url-image-referrerpolicy-same-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/unsafe-url/url-image-referrerpolicy-cross-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/unsafe-url/url-image-referrerpolicy-cross-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/unsafe-url/url-image-referrerpolicy-same-origin.sub-expected.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/referrer-policy/unsafe-url/url-image-referrerpolicy-same-origin.sub.html: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/support/1x1-green.png: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/support/1x1-navy.png: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/support/1x1-red.png: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/support/image-referrerpolicy.py: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/support/image-referrerpolicy.sub.js: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-values/urls/url-image-ref.html: Added. - Add new tests. Canonical link: https://commits.webkit.org/293647@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes