[webkit-changes] [WebKit/WebKit] 4be71d: REGRESSION(262616 at main): wpt/permissions-policy/pa...

Chris Dumez noreply at github.com
Thu Jun 29 19:21:49 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4be71d55e77b3a3c6216e19dc23db4504ad93bbc
      https://github.com/WebKit/WebKit/commit/4be71d55e77b3a3c6216e19dc23db4504ad93bbc
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-06-29 (Thu, 29 Jun 2023)

  Changed paths:
    A LayoutTests/imported/w3c/web-platform-tests/permissions-policy/payment-allowed-by-permissions-policy-attribute-redirect-on-load.https.sub-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/permissions-policy/payment-allowed-by-permissions-policy-attribute-redirect-on-load.https.sub.html
    A LayoutTests/imported/w3c/web-platform-tests/permissions-policy/resources/permissions-policy-payment.html
    M LayoutTests/imported/w3c/web-platform-tests/permissions-policy/resources/permissions-policy.js
    A LayoutTests/imported/w3c/web-platform-tests/permissions/resources/redirect-on-load.html
    M LayoutTests/imported/w3c/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub-expected.txt
    M LayoutTests/platform/glib/TestExpectations
    A LayoutTests/platform/glib/imported/w3c/web-platform-tests/screen-wake-lock/wakelock-enabled-by-feature-policy-attribute-redirect-on-load.https.sub-expected.txt
    M LayoutTests/platform/mac-wk1/TestExpectations
    M Source/WebCore/html/FeaturePolicy.cpp

  Log Message:
  -----------
  REGRESSION(262616 at main): wpt/permissions-policy/payment-allowed-by-permissions-policy-attribute-redirect-on-load.https.sub.html
https://bugs.webkit.org/show_bug.cgi?id=258217
rdar://110907826

Reviewed by Ryosuke Niwa.

According to the specification [1]:
```
The allowlist for the features named in the attribute may be empty; in that
case, the default value for the allowlist is 'src', which represents the origin
of the URL in the iframe’s src attribute.
```

However, in FeaturePolicy's updateList(), we would set the AllowRule's type
to Type::All, which would be equivalent to having an allowlist of '*'.

To address the issue, we now get the iframe's src URL and compute its origin,
we then add this origin to the allowed list of origins. This implements
allowlist 'src' behavior.

[1] https://www.w3.org/TR/permissions-policy/#iframe-allow-attribute

* LayoutTests/imported/w3c/web-platform-tests/permissions-policy/payment-allowed-by-permissions-policy-attribute-redirect-on-load.https.sub-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/permissions-policy/payment-allowed-by-permissions-policy-attribute-redirect-on-load.https.sub.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/permissions-policy/resources/permissions-policy-payment.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/permissions-policy/resources/permissions-policy.js:
(expectFeatureAvailable):
(test_feature_availability):
(test_feature_availability_with_post_message_result):
(run_all_fp_tests_allow_self):
* LayoutTests/imported/w3c/web-platform-tests/permissions/resources/redirect-on-load.html: Added.
Import WPT test coverage.

* Source/WebCore/html/FeaturePolicy.cpp:
(WebCore::updateList):
(WebCore::FeaturePolicy::parse):

Canonical link: https://commits.webkit.org/265641@main




More information about the webkit-changes mailing list