servo/tests/wpt/web-platform-tests/feature-policy
2022-11-25 01:25:18 +00:00
..
experimental-features Update web-platform-tests to revision 8d1253647cfe3809ddf58a4ad7c9da5f26985d7e 2020-11-13 11:01:03 +00:00
reporting Update web-platform-tests to revision b'b728032f59a396243864b0f8584e7211e3632005' 2022-11-10 01:27:28 +00:00
resources Update web-platform-tests to revision b'4435c35d9085ed2be61e64d0093b8e1b0e7a877b' 2022-11-25 01:25:18 +00:00
feature-policy-frame-policy-allowed-for-all.https.sub.html Update web-platform-tests to revision 8d1253647cfe3809ddf58a4ad7c9da5f26985d7e 2020-11-13 11:01:03 +00:00
feature-policy-frame-policy-allowed-for-all.https.sub.html.sub.headers Update web-platform-tests to revision e87f38097902e16348d4e17f4fe3bc2d0112bff1 2018-03-17 23:34:27 -04:00
feature-policy-frame-policy-allowed-for-self.https.sub.html Update web-platform-tests to revision 8d1253647cfe3809ddf58a4ad7c9da5f26985d7e 2020-11-13 11:01:03 +00:00
feature-policy-frame-policy-allowed-for-self.https.sub.html.sub.headers Update web-platform-tests to revision e87f38097902e16348d4e17f4fe3bc2d0112bff1 2018-03-17 23:34:27 -04:00
feature-policy-frame-policy-allowed-for-some-override.https.sub.html Update web-platform-tests to revision 8d1253647cfe3809ddf58a4ad7c9da5f26985d7e 2020-11-13 11:01:03 +00:00
feature-policy-frame-policy-allowed-for-some-override.https.sub.html.sub.headers Update web-platform-tests to revision ef4113222efb4cc08100f34f2dd9ab8ecc3660eb 2020-05-02 11:27:29 -04:00
feature-policy-frame-policy-allowed-for-some.https.sub.html Update web-platform-tests to revision 8d1253647cfe3809ddf58a4ad7c9da5f26985d7e 2020-11-13 11:01:03 +00:00
feature-policy-frame-policy-allowed-for-some.https.sub.html.sub.headers Update web-platform-tests to revision e87f38097902e16348d4e17f4fe3bc2d0112bff1 2018-03-17 23:34:27 -04:00
feature-policy-frame-policy-disallowed-for-all.https.sub.html Update web-platform-tests to revision cd44958a002b1ad494168e0290554644de84526e 2018-11-07 22:27:51 -05:00
feature-policy-frame-policy-disallowed-for-all.https.sub.html.sub.headers Update web-platform-tests to revision e87f38097902e16348d4e17f4fe3bc2d0112bff1 2018-03-17 23:34:27 -04:00
feature-policy-frame-policy-timing-iframe-camera.https.sub.html Update web-platform-tests to revision b'ee6da9d71d0268d7fdb04e8e5b26858f46ee0cc4' 2022-01-20 20:57:54 +09:00
feature-policy-frame-policy-timing.https.sub.html Update web-platform-tests to revision fa41b43ac93bc2fdc2427a4378dc3754d483cdda 2019-12-10 11:06:32 +00:00
feature-policy-header-policy-allowed-for-all.https.sub.html Update web-platform-tests to revision b'b728032f59a396243864b0f8584e7211e3632005' 2022-11-10 01:27:28 +00:00
feature-policy-header-policy-allowed-for-all.https.sub.html.sub.headers Update web-platform-tests to revision 5ca972e15cfa80277964645d9ee5ccd87a661337 2018-02-25 21:45:44 -05:00
feature-policy-header-policy-allowed-for-self.https.sub.html Update web-platform-tests to revision b'b728032f59a396243864b0f8584e7211e3632005' 2022-11-10 01:27:28 +00:00
feature-policy-header-policy-allowed-for-self.https.sub.html.sub.headers Update web-platform-tests to revision 5ca972e15cfa80277964645d9ee5ccd87a661337 2018-02-25 21:45:44 -05:00
feature-policy-header-policy-allowed-for-some.https.sub.html Update web-platform-tests to revision b'b728032f59a396243864b0f8584e7211e3632005' 2022-11-10 01:27:28 +00:00
feature-policy-header-policy-allowed-for-some.https.sub.html.sub.headers Update web-platform-tests to revision 5ca972e15cfa80277964645d9ee5ccd87a661337 2018-02-25 21:45:44 -05:00
feature-policy-header-policy-declined.https.sub.html Update web-platform-tests to revision b'b728032f59a396243864b0f8584e7211e3632005' 2022-11-10 01:27:28 +00:00
feature-policy-header-policy-declined.https.sub.html.sub.headers Update web-platform-tests to revision 615bb572c95add74ca4fb9fed4af5269a49cf4ef 2018-11-06 22:43:16 -05:00
feature-policy-header-policy-disallowed-for-all.https.sub.html Update web-platform-tests to revision b'b728032f59a396243864b0f8584e7211e3632005' 2022-11-10 01:27:28 +00:00
feature-policy-header-policy-disallowed-for-all.https.sub.html.sub.headers Update web-platform-tests to revision 5ca972e15cfa80277964645d9ee5ccd87a661337 2018-02-25 21:45:44 -05:00
feature-policy-nested-header-policy-allowed-for-all.https.sub.html Update web-platform-tests to revision 8d1253647cfe3809ddf58a4ad7c9da5f26985d7e 2020-11-13 11:01:03 +00:00
feature-policy-nested-header-policy-allowed-for-all.https.sub.html.sub.headers Update web-platform-tests to revision 5ca972e15cfa80277964645d9ee5ccd87a661337 2018-02-25 21:45:44 -05:00
feature-policy-nested-header-policy-allowed-for-self.https.sub.html Update web-platform-tests to revision 8d1253647cfe3809ddf58a4ad7c9da5f26985d7e 2020-11-13 11:01:03 +00:00
feature-policy-nested-header-policy-allowed-for-self.https.sub.html.sub.headers Update web-platform-tests to revision 5ca972e15cfa80277964645d9ee5ccd87a661337 2018-02-25 21:45:44 -05:00
feature-policy-nested-header-policy-disallowed-for-all.https.sub.html Update web-platform-tests to revision f2c1dfe9ae186350086dbe505c4baaab63ace1cc 2020-03-21 11:06:46 +00:00
feature-policy-nested-header-policy-disallowed-for-all.https.sub.html.sub.headers Update web-platform-tests to revision 5ca972e15cfa80277964645d9ee5ccd87a661337 2018-02-25 21:45:44 -05:00
META.yml Update web-platform-tests to revision 33c263fb308d1c3f6ac6d2590d7292317262819d 2019-08-23 13:55:23 +00:00
payment-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html Update web-platform-tests to revision 16c99fc3f05855a7d7d19397a19f49d2dbf429b9 2020-10-06 17:07:29 -04:00
payment-allowed-by-feature-policy-attribute.https.sub.html
payment-allowed-by-feature-policy.https.sub.html Update web-platform-tests to revision 8d1253647cfe3809ddf58a4ad7c9da5f26985d7e 2020-11-13 11:01:03 +00:00
payment-allowed-by-feature-policy.https.sub.html.headers
payment-default-feature-policy.https.sub.html Update web-platform-tests to revision 16c99fc3f05855a7d7d19397a19f49d2dbf429b9 2020-10-06 17:07:29 -04:00
payment-disabled-by-feature-policy.https.sub.html Update web-platform-tests to revision 16c99fc3f05855a7d7d19397a19f49d2dbf429b9 2020-10-06 17:07:29 -04:00
payment-disabled-by-feature-policy.https.sub.html.headers
payment-supported-by-feature-policy.tentative.html Update web-platform-tests to revision 388ba3a049a3473b1945b9f8f81e9d6e342a249e 2019-01-24 23:13:56 -05:00
permissions-policy-feature-policy-coexist.https.html Update web-platform-tests to revision b89d7ff93b5076d389404f2a062b83e73754307f 2020-07-01 11:14:37 +00:00
permissions-policy-feature-policy-coexist.https.html.headers Update web-platform-tests to revision b89d7ff93b5076d389404f2a062b83e73754307f 2020-07-01 11:14:37 +00:00
permissions-policy-header-policy-allowed-for-self.https.sub.html Update web-platform-tests to revision b'b728032f59a396243864b0f8584e7211e3632005' 2022-11-10 01:27:28 +00:00
permissions-policy-header-policy-allowed-for-self.https.sub.html.sub.headers Update web-platform-tests to revision b89d7ff93b5076d389404f2a062b83e73754307f 2020-07-01 11:14:37 +00:00
picture-in-picture-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html Update web-platform-tests to revision 74d709131e3c91d09f1708378648a01957c47b38 2018-10-13 23:47:44 -04:00
picture-in-picture-allowed-by-feature-policy-attribute.https.sub.html Update web-platform-tests to revision 74d709131e3c91d09f1708378648a01957c47b38 2018-10-13 23:47:44 -04:00
picture-in-picture-allowed-by-feature-policy.https.sub.html Update web-platform-tests to revision 74d709131e3c91d09f1708378648a01957c47b38 2018-10-13 23:47:44 -04:00
picture-in-picture-allowed-by-feature-policy.https.sub.html.headers Update web-platform-tests to revision fcc7ecef8ee95ba3776cfa3b1de30101c30432aa 2018-01-31 21:02:57 -05:00
picture-in-picture-default-feature-policy.https.sub.html Update web-platform-tests to revision 74d709131e3c91d09f1708378648a01957c47b38 2018-10-13 23:47:44 -04:00
picture-in-picture-disabled-by-feature-policy.https.sub.html Update web-platform-tests to revision 74d709131e3c91d09f1708378648a01957c47b38 2018-10-13 23:47:44 -04:00
picture-in-picture-disabled-by-feature-policy.https.sub.html.headers Update web-platform-tests to revision fcc7ecef8ee95ba3776cfa3b1de30101c30432aa 2018-01-31 21:02:57 -05:00
picture-in-picture-supported-by-feature-policy.html Update web-platform-tests to revision 388ba3a049a3473b1945b9f8f81e9d6e342a249e 2019-01-24 23:13:56 -05:00
policy-extends-to-sandbox.html Update web-platform-tests to revision 84af6c875d378944b39d895acdcfc170736b2d3d 2019-07-10 14:54:55 +00:00
README.md Update web-platform-tests to revision 9ca57e052ba1b19fa3dd46c6aa656e8d529469a8 2020-09-12 10:44:07 +00:00

Feature Policy Guide

How to Test a New Feature with Feature Policy

This directory contains a framework to test features with feature policy.

When adding a new feature to feature policy, the following cases should be tested:

  • feature enabled by header policy [HTTP tests]
    • test when feature is enabled by feature policy HTTP header;
  • feature disabled by header policy [HTTP tests]
    • test when feature is disabled by feature policy HTTP header;
  • feature enabled on self origin by header policy [HTTP tests]
    • test when feature is enabled only on self origin by feature policy HTTP header.
  • feature allowed by container policy (iframe "allow" attribute);
    • test when feature is enabled by iframe "allow" attribute on self and cross origins.
  • feature allowed by container policy, redirect on load.
    • test when feature is enabled by iframe "allow" attribute when the iframe is being redirected to a new origin upon loading

How to Use the Test Framework

Use test_feature_availability() defined in /feature-policy/resources/featurepolicy.js. Please refer to the comments in /feature-policy/resources/featurepolicy.js for how this function works.

How to Write Header Policy Tests

HTTP tests are used to test features with header policy.

  • Define the header policy in <feature-name>-<enabled | disabled | enabled-on-self-origin>-by-feature-policy.https.sub.html.headers. Example:

    Feature-Policy: feature-name *

  • In <feature-name>-<enabled | disabled | enabled-on-self-origin>-by-feature-policy.https.sub.html:

  • test if feature is enabled / disabled in the main frame;

  • test if feature is enabled / disabled in a same-origin iframe;

  • test if feature is enabled / disabled in a cross-origin iframe.

Examples: /feature-policy/payment-disabled-by-feature-policy.https.sub.html /feature-policy/payment-disabled-by-feature-policy.https.sub.html.headers

How to Write Container Policy Tests

Simply use test_feature_availability() with the optional argument feature_name specified to test if:

  • feature is enabled / disabled in a same-origin iframe;
  • feature is enabled / disabled in a cross-origin iframe.

Example: /feature-policy/payment-allowed-by-feature-policy-attribute.https.sub.html

How to Write Container Policy Tests with Redirect

Similar to the section above, append /feature-policy/resources/redirect-on-load.html# to the argument src passed to test_feature_availability().

Example: /feature-policy/payment-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html