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:
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.
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: /payment-request/payment-disabled-by-feature-policy.https.sub.html
/payment-request/payment-disabled-by-feature-policy.https.sub.html.headers
Simply use test_feature_availability()
with the optional argument feature_name
specified to test if:
Example: /payment-request/payment-allowed-by-feature-policy-attribute.https.sub.html
Similar to the section above, append /feature-policy/resources/redirect-on-load.html#
to the argument src
passed to test_feature_availability()
.
Example: /payment-request/payment-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html