servo/tests/wpt/web-platform-tests/feature-policy
2018-05-30 22:50:35 -04:00
..
experimental-features Update web-platform-tests to revision 1829a42c93e435937db68c8a842fa9b56dd39dc2 2018-05-30 22:50:35 -04:00
resources Update web-platform-tests to revision 81962ac8802223d038b188b6f9cb88a0a9c5beee 2018-05-18 23:55:46 -04:00
autoplay-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html Update web-platform-tests to revision be5419e845d39089ba6dc338c1bd0fa279108317 2018-01-09 12:52:27 -05:00
autoplay-allowed-by-feature-policy-attribute.https.sub.html Update web-platform-tests to revision be5419e845d39089ba6dc338c1bd0fa279108317 2018-01-09 12:52:27 -05:00
autoplay-allowed-by-feature-policy.https.sub.html Update web-platform-tests to revision be5419e845d39089ba6dc338c1bd0fa279108317 2018-01-09 12:52:27 -05:00
autoplay-allowed-by-feature-policy.https.sub.html.headers Update web-platform-tests to revision be5419e845d39089ba6dc338c1bd0fa279108317 2018-01-09 12:52:27 -05:00
autoplay-default-feature-policy.https.sub.html Update web-platform-tests to revision be5419e845d39089ba6dc338c1bd0fa279108317 2018-01-09 12:52:27 -05:00
autoplay-disabled-by-feature-policy.https.sub.html Update web-platform-tests to revision be5419e845d39089ba6dc338c1bd0fa279108317 2018-01-09 12:52:27 -05:00
autoplay-disabled-by-feature-policy.https.sub.html.headers Update web-platform-tests to revision be5419e845d39089ba6dc338c1bd0fa279108317 2018-01-09 12:52:27 -05:00
feature-policy-frame-policy-allowed-for-all.https.sub.html Update web-platform-tests to revision e87f38097902e16348d4e17f4fe3bc2d0112bff1 2018-03-17 23:34:27 -04: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 4a5223502fa660ce03e470af6a61c8bc26c5a8ee 2018-04-23 23:10:53 -04: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.https.sub.html Update web-platform-tests to revision e87f38097902e16348d4e17f4fe3bc2d0112bff1 2018-03-17 23:34:27 -04: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 e87f38097902e16348d4e17f4fe3bc2d0112bff1 2018-03-17 23:34:27 -04: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-header-policy-allowed-for-all.https.sub.html Update web-platform-tests to revision 5ca972e15cfa80277964645d9ee5ccd87a661337 2018-02-25 21:45:44 -05: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 5ca972e15cfa80277964645d9ee5ccd87a661337 2018-02-25 21:45:44 -05: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 5ca972e15cfa80277964645d9ee5ccd87a661337 2018-02-25 21:45:44 -05: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-disallowed-for-all.https.sub.html Update web-platform-tests to revision 5ca972e15cfa80277964645d9ee5ccd87a661337 2018-02-25 21:45:44 -05: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 5ca972e15cfa80277964645d9ee5ccd87a661337 2018-02-25 21:45:44 -05: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 5ca972e15cfa80277964645d9ee5ccd87a661337 2018-02-25 21:45:44 -05: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 5ca972e15cfa80277964645d9ee5ccd87a661337 2018-02-25 21:45:44 -05: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
interfaces.any.js Update web-platform-tests to revision e87f38097902e16348d4e17f4fe3bc2d0112bff1 2018-03-17 23:34:27 -04:00
OWNERS Update web-platform-tests to revision 8a2ceb5f18911302b7a5c1cd2791f4ab50ad4326 2017-10-12 12:36:21 -04:00
payment-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html Update web-platform-tests to revision be5419e845d39089ba6dc338c1bd0fa279108317 2018-01-09 12:52:27 -05:00
payment-allowed-by-feature-policy-attribute.https.sub.html Update web-platform-tests to revision 8a2ceb5f18911302b7a5c1cd2791f4ab50ad4326 2017-10-12 12:36:21 -04:00
payment-allowed-by-feature-policy.https.sub.html Update web-platform-tests to revision 8a2ceb5f18911302b7a5c1cd2791f4ab50ad4326 2017-10-12 12:36:21 -04:00
payment-allowed-by-feature-policy.https.sub.html.headers Update web-platform-tests to revision 8a2ceb5f18911302b7a5c1cd2791f4ab50ad4326 2017-10-12 12:36:21 -04:00
payment-default-feature-policy.https.sub.html Update web-platform-tests to revision 8a2ceb5f18911302b7a5c1cd2791f4ab50ad4326 2017-10-12 12:36:21 -04:00
payment-disabled-by-feature-policy.https.sub.html Update web-platform-tests to revision 8a2ceb5f18911302b7a5c1cd2791f4ab50ad4326 2017-10-12 12:36:21 -04:00
payment-disabled-by-feature-policy.https.sub.html.headers Update web-platform-tests to revision 8a2ceb5f18911302b7a5c1cd2791f4ab50ad4326 2017-10-12 12:36:21 -04:00
picture-in-picture-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html Update web-platform-tests to revision fcc7ecef8ee95ba3776cfa3b1de30101c30432aa 2018-01-31 21:02:57 -05:00
picture-in-picture-allowed-by-feature-policy-attribute.https.sub.html Update web-platform-tests to revision fcc7ecef8ee95ba3776cfa3b1de30101c30432aa 2018-01-31 21:02:57 -05:00
picture-in-picture-allowed-by-feature-policy.https.sub.html Update web-platform-tests to revision fcc7ecef8ee95ba3776cfa3b1de30101c30432aa 2018-01-31 21:02:57 -05: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 e92532746b7615dcccdfa060937a87664816b1db 2018-02-21 21:39:38 -05:00
picture-in-picture-disabled-by-feature-policy.https.sub.html Update web-platform-tests to revision fcc7ecef8ee95ba3776cfa3b1de30101c30432aa 2018-01-31 21:02:57 -05: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
README.md Update web-platform-tests to revision be5419e845d39089ba6dc338c1bd0fa279108317 2018-01-09 12:52:27 -05: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 headerr;
  • 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