tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

README.md (2673B)


Permissions Policy Guide

How to Test a New Feature with permissions policy

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

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

+ test when feature is enabled by permissions policy HTTP header;

+ test when feature is disabled by permissions policy HTTP header;

+ test when feature is enabled only on self origin by permissions policy HTTP header.

+ test when feature is enabled by iframe "allow" attribute on self and cross origins.

+ 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 /permissions-policy/resources/permissions-policy.js. Please refer to the comments in /permissions-policy/resources/permissions-policy.js for how this function works.

How to Write Header Policy Tests

HTTP tests are used to test features with header policy.

Permissions-Policy: feature-name=*

Examples: /permissions-policy/payment-disabled-by-permissions-policy.https.sub.html /permissions-policy/payment-disabled-by-permissions-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:

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

How to Write Container Policy Tests with Redirect

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

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