mirror of
https://github.com/servo/servo.git
synced 2025-09-07 13:38:20 +01:00
Update web-platform-tests to revision 345300fad3945a5f1441fb2b2001109ca48f36e8
This commit is contained in:
parent
71ba247942
commit
05db47be0f
109 changed files with 2576 additions and 1228 deletions
|
@ -0,0 +1,14 @@
|
|||
'use strict';
|
||||
|
||||
importScripts('/resources/testharness.js');
|
||||
|
||||
let workerType;
|
||||
|
||||
if (typeof postMessage === 'function') {
|
||||
workerType = 'dedicated';
|
||||
}
|
||||
|
||||
promise_test(() => navigator.serial.getPorts(),
|
||||
`Inherited header feature policy allows ${workerType} workers.`);
|
||||
|
||||
done();
|
|
@ -0,0 +1,17 @@
|
|||
'use strict';
|
||||
|
||||
importScripts('/resources/testharness.js');
|
||||
|
||||
const header = 'Feature-Policy header {"serial" : []}';
|
||||
let workerType;
|
||||
|
||||
if (typeof postMessage === 'function') {
|
||||
workerType = 'dedicated';
|
||||
}
|
||||
|
||||
promise_test(() => navigator.serial.getPorts().then(
|
||||
() => assert_unreached('expected promise to reject with SecurityError'),
|
||||
error => assert_equals(error.name, 'SecurityError')),
|
||||
`Inherited ${header} disallows ${workerType} workers.`);
|
||||
|
||||
done();
|
|
@ -0,0 +1,44 @@
|
|||
<!DOCTYPE html>
|
||||
<body>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<script src=/feature-policy/resources/featurepolicy.js></script>
|
||||
<script>
|
||||
'use strict';
|
||||
const relative_path = '/feature-policy/resources/feature-policy-serial.html';
|
||||
const base_src = '/feature-policy/resources/redirect-on-load.html#';
|
||||
const relative_worker_frame_path =
|
||||
'/feature-policy/resources/feature-policy-serial-worker.html';
|
||||
const sub = 'https://{{domains[www]}}:{{ports[https][0]}}';
|
||||
const same_origin_src = base_src + relative_path;
|
||||
const cross_origin_src = base_src + sub + relative_path;
|
||||
const same_origin_worker_frame_src = base_src + relative_worker_frame_path;
|
||||
const cross_origin_worker_frame_src = base_src + sub +
|
||||
relative_worker_frame_path;
|
||||
const header = 'Feature-Policy allow="serial"';
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
'serial.getPorts()', t, same_origin_src,
|
||||
expect_feature_available_default, 'serial');
|
||||
}, header + ' allows same-origin relocation.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
'serial.getPorts()', t, same_origin_worker_frame_src,
|
||||
expect_feature_available_default, 'serial');
|
||||
}, header + ' allows workers in same-origin relocation.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
'serial.getPorts()', t, cross_origin_src,
|
||||
expect_feature_unavailable_default, 'serial');
|
||||
}, header + ' disallows cross-origin relocation.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
'serial.getPorts()', t, cross_origin_worker_frame_src,
|
||||
expect_feature_unavailable_default, 'serial');
|
||||
}, header + ' disallows workers in cross-origin relocation.');
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,46 @@
|
|||
<!DOCTYPE html>
|
||||
<body>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<script src=/feature-policy/resources/featurepolicy.js></script>
|
||||
<script>
|
||||
'use strict';
|
||||
const sub = 'https://{{domains[www]}}:{{ports[https][0]}}';
|
||||
const same_origin_src = '/feature-policy/resources/feature-policy-serial.html';
|
||||
const cross_origin_src = sub + same_origin_src;
|
||||
const same_origin_worker_frame_src =
|
||||
'/feature-policy/resources/feature-policy-serial-worker.html';
|
||||
const cross_origin_worker_frame_src = sub + same_origin_worker_frame_src;
|
||||
const feature_name = 'Feature policy "serial"';
|
||||
const header = 'allow="serial" attribute';
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
'serial.getPorts()', t, same_origin_src,
|
||||
expect_feature_available_default, 'serial');
|
||||
}, feature_name + ' can be enabled in same-origin iframe using ' + header);
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
'serial.getPorts()', t, same_origin_worker_frame_src,
|
||||
expect_feature_available_default, 'serial');
|
||||
}, feature_name + ' can be enabled in a worker in same-origin iframe using ' +
|
||||
header);
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
'serial.getPorts()', t, cross_origin_src,
|
||||
expect_feature_available_default, 'serial');
|
||||
}, feature_name + ' can be enabled in cross-origin iframe using ' + header);
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability(
|
||||
'serial.getPorts()', t, cross_origin_worker_frame_src,
|
||||
expect_feature_available_default, 'serial');
|
||||
}, feature_name + ' can be enabled in a worker in cross-origin iframe using ' +
|
||||
header);
|
||||
|
||||
fetch_tests_from_worker(new Worker(
|
||||
'resources/serial-allowed-by-feature-policy-worker.js'));
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,44 @@
|
|||
<!DOCTYPE html>
|
||||
<body>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<script src=/feature-policy/resources/featurepolicy.js></script>
|
||||
<script>
|
||||
'use strict';
|
||||
const sub = 'https://{{domains[www]}}:{{ports[https][0]}}';
|
||||
const same_origin_src = '/feature-policy/resources/feature-policy-serial.html';
|
||||
const cross_origin_src = sub + same_origin_src;
|
||||
const same_origin_worker_frame_src =
|
||||
'/feature-policy/resources/feature-policy-serial-worker.html';
|
||||
const cross_origin_worker_frame_src = sub + same_origin_worker_frame_src;
|
||||
const header = 'Feature-Policy header {"serial" : ["*"]}';
|
||||
|
||||
promise_test(
|
||||
() => navigator.serial.getPorts(),
|
||||
header + ' allows the top-level document.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability('serial.getPorts()', t, same_origin_src,
|
||||
expect_feature_available_default);
|
||||
}, header + ' allows same-origin iframes.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability('serial.getPorts()', t, same_origin_worker_frame_src,
|
||||
expect_feature_available_default);
|
||||
}, header + ' allows workers in same-origin iframes.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability('serial.getPorts()', t, cross_origin_src,
|
||||
expect_feature_available_default);
|
||||
}, header + ' allows cross-origin iframes.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability('serial.getPorts()', t,
|
||||
cross_origin_worker_frame_src,
|
||||
expect_feature_available_default);
|
||||
}, header + ' allows workers in cross-origin iframes.');
|
||||
|
||||
fetch_tests_from_worker(new Worker(
|
||||
'resources/serial-allowed-by-feature-policy-worker.js'));
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1 @@
|
|||
Feature-Policy: serial *
|
|
@ -0,0 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<body>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<script src=/feature-policy/resources/featurepolicy.js></script>
|
||||
<script>
|
||||
'use strict';
|
||||
var same_origin_src = '/feature-policy/resources/feature-policy-serial.html';
|
||||
var cross_origin_src = 'https://{{domains[www]}}:{{ports[https][0]}}' +
|
||||
same_origin_src;
|
||||
var header = 'Default "serial" feature policy ["self"]';
|
||||
|
||||
promise_test(
|
||||
() => navigator.serial.getPorts(),
|
||||
header + ' allows the top-level document.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability('serial.getPorts()', t, same_origin_src,
|
||||
expect_feature_available_default);
|
||||
}, header + ' allows same-origin iframes.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability('serial.getPorts()', t, cross_origin_src,
|
||||
expect_feature_unavailable_default);
|
||||
}, header + ' disallows cross-origin iframes.');
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,48 @@
|
|||
<!DOCTYPE html>
|
||||
<body>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/feature-policy/resources/featurepolicy.js"></script>
|
||||
<script>
|
||||
'use strict';
|
||||
const sub = 'https://{{domains[www]}}:{{ports[https][0]}}';
|
||||
const same_origin_src = '/feature-policy/resources/feature-policy-serial.html';
|
||||
const cross_origin_src = sub + same_origin_src;
|
||||
const same_origin_worker_frame_src =
|
||||
'/feature-policy/resources/feature-policy-serial-worker.html';
|
||||
const cross_origin_worker_frame_src = sub + same_origin_worker_frame_src;
|
||||
const header = 'Feature-Policy header {"serial" : []}';
|
||||
|
||||
promise_test(() => {
|
||||
return navigator.serial.getPorts().then(() => {
|
||||
assert_unreached('expected promise to reject with SecurityError');
|
||||
}, error => {
|
||||
assert_equals(error.name, 'SecurityError');
|
||||
});
|
||||
}, header + ' disallows getPorts in the top-level document.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability('serial.getPorts()', t, same_origin_src,
|
||||
expect_feature_unavailable_default);
|
||||
}, header + ' disallows same-origin iframes.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability('serial.getPorts()', t, same_origin_worker_frame_src,
|
||||
expect_feature_unavailable_default);
|
||||
}, header + ' disallows workers in same-origin iframes.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability('serial.getPorts()', t, cross_origin_src,
|
||||
expect_feature_unavailable_default);
|
||||
}, header + ' disallows cross-origin iframes.');
|
||||
|
||||
async_test(t => {
|
||||
test_feature_availability('serial.getPorts()', t,
|
||||
cross_origin_worker_frame_src,
|
||||
expect_feature_unavailable_default);
|
||||
}, header + ' disallows workers in cross-origin iframes.');
|
||||
|
||||
fetch_tests_from_worker(new Worker(
|
||||
'resources/serial-disabled-by-feature-policy-worker.js'));
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1 @@
|
|||
Feature-Policy: serial 'none'
|
Loading…
Add table
Add a link
Reference in a new issue