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

Reply via email to