mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 17:25:36 +00:00
8c762db568
Automatic update from web-platform-tests Split feature-policy-frame-policy-allowed-for-some.https.sub.html The wpt test was flaky because it has too much content: all 108 subtests live in a single test file, which causes the test sometimes exceed the timeout limit(30s). The solution to resolve this flakiness is to split this big test file into smaller ones, so that each of them can have less content. Bug: 1067391 Change-Id: Ib6ed1469895a76cff43c7e33dd24809242859044 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2169757 Reviewed-by: Ian Clelland <iclelland@chromium.org> Commit-Queue: Charlie Hu <chenleihu@google.com> Cr-Commit-Position: refs/heads/master@{#764788} -- wpt-commits: 795e198205d20d865622e35f59c9e7d93e85601b wpt-pr: 23344
84 lines
4.2 KiB
HTML
84 lines
4.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta name="timeout" content="long">
|
|
<script src=/resources/testharness.js></script>
|
|
<script src=/resources/testharnessreport.js></script>
|
|
</head>
|
|
<body>
|
|
<script src=/feature-policy/resources/featurepolicy.js></script>
|
|
<!-- Feature-Policy: fullscreen 'self' cross_origin https://www.example.com; -->
|
|
<script>
|
|
'use strict';
|
|
var same_origin = 'https://{{domains[]}}:{{ports[https][0]}}';
|
|
var cross_origin = 'https://{{domains[www]}}:{{ports[https][0]}}';
|
|
var cross_origin1 = 'https://{{domains[www1]}}:{{ports[https][0]}}';
|
|
var same_origin_src = '/feature-policy/resources/feature-policy-allowedfeatures.html';
|
|
var cross_origin_src = cross_origin + same_origin_src;
|
|
var cross_origin_src1 = cross_origin1 + same_origin_src;
|
|
var data_src = 'data:text/html,<h1>data: URL</h1>';
|
|
// Test feature policy with same_origin_src and cross_origin_src.
|
|
var policies = [
|
|
{allow: "*", sameOriginTestExpect: true, crossOriginTestExpect: true, crossOrigin1TestExpect: true, dataOriginTestExpect: false},
|
|
{allow: "'self'", sameOriginTestExpect: true, crossOriginTestExpect: false, crossOrigin1TestExpect: false, dataOriginTestExpect: false},
|
|
{allow: "'none'", sameOriginTestExpect: false, crossOriginTestExpect: false, crossOrigin1TestExpect: false, dataOriginTestExpect: false},
|
|
{allow: "'self' " + cross_origin + " https://www.example.com", sameOriginTestExpect: true, crossOriginTestExpect: true, crossOrigin1TestExpect: false, dataOriginTestExpect: false}];
|
|
|
|
// Test that the allow attribute overrides allowfullscreen.
|
|
for (var i = 0; i < policies.length; i++) {
|
|
test(function() {
|
|
test_frame_policy(
|
|
'fullscreen', same_origin_src, undefined,
|
|
policies[i].sameOriginTestExpect,
|
|
'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
|
|
}, 'Test frame policy on same origin iframe with allow = "' + policies[i].allow +
|
|
'" and allowfullscreen.');
|
|
test(function() {
|
|
test_frame_policy(
|
|
'fullscreen', cross_origin_src, undefined,
|
|
policies[i].crossOriginTestExpect,
|
|
'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
|
|
}, 'Test frame policy on cross origin iframe with allow = "' + policies[i].allow +
|
|
'" and allowfullscreen.');
|
|
test(function() {
|
|
test_frame_policy(
|
|
'fullscreen', cross_origin_src1, undefined,
|
|
policies[i].crossOrigin1TestExpect,
|
|
'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
|
|
}, 'Test frame policy on another cross origin iframe with allow = "' + policies[i].allow +
|
|
'" and allowfullscreen.');
|
|
test(function() {
|
|
test_frame_policy(
|
|
'fullscreen', undefined, true, policies[i].sameOriginTestExpect,
|
|
'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
|
|
}, 'Test frame policy on srcdoc iframe with allow = "' + policies[i].allow +
|
|
'" and allowfullscreen.');
|
|
test(function() {
|
|
test_frame_policy(
|
|
'fullscreen', same_origin_src, true, policies[i].sameOriginTestExpect,
|
|
'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
|
|
}, 'Test frame policy on srcdoc + same origin iframe with allow = "' + policies[i].allow +
|
|
'" and allowfullscreen.');
|
|
test(function() {
|
|
test_frame_policy(
|
|
'fullscreen', cross_origin_src, true, policies[i].sameOriginTestExpect,
|
|
'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
|
|
}, 'Test frame policy on srcdoc + cross origin iframe with allow = "' + policies[i].allow +
|
|
'" and allowfullscreen.');
|
|
test(function() {
|
|
test_frame_policy(
|
|
'fullscreen', cross_origin_src1, true, policies[i].sameOriginTestExpect,
|
|
'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
|
|
}, 'Test frame policy on srcdoc + another cross origin iframe with allow = "' + policies[i].allow +
|
|
'" and allowfullscreen.');
|
|
test(function() {
|
|
test_frame_policy(
|
|
'fullscreen', data_src, undefined, policies[i].dataOriginTestExpect,
|
|
'fullscreen ' + policies[i].allow + ';', /*allowfullscreen*/true);
|
|
}, 'Test frame policy on data: URL cross origin iframe with allow = "' + policies[i].allow +
|
|
'" and allowfullscreen.');
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|