| Index: third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/iframe-sandbox-register-link-element.https.html
|
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/iframe-sandbox-register-link-element.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/iframe-sandbox-register-link-element.https.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1d1c54e3edc8be0fedfa461b91351da6e6fd2cac
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/iframe-sandbox-register-link-element.https.html
|
| @@ -0,0 +1,53 @@
|
| +<!DOCTYPE html>
|
| +<script src="/resources/testharness.js"></script>
|
| +<script src="/resources/testharnessreport.js"></script>
|
| +<script src="resources/test-helpers.sub.js"></script>
|
| +<title>Service worker registration from within sandboxed iframe</title>
|
| +<body>
|
| +<script>
|
| +'use strict';
|
| +function waitForMsg(id) {
|
| + return new Promise(function(resolve) {
|
| + window.addEventListener('message', function onMessage(event) {
|
| + if (!event.data || event.data.id !== id) {
|
| + return;
|
| + }
|
| + window.removeEventListener('message', onMessage);
|
| + resolve(event.data.result);
|
| + });
|
| + });
|
| +}
|
| +
|
| +promise_test(function(t) {
|
| + var iframe = document.createElement('iframe');
|
| + iframe.setAttribute('src', 'resources/iframe-register-link-element.html?subtest1');
|
| + iframe.setAttribute('sandbox', 'allow-scripts');
|
| +
|
| + document.body.appendChild(iframe);
|
| + t.add_cleanup(function() {
|
| + iframe.remove();
|
| + });
|
| +
|
| + return waitForMsg('?subtest1')
|
| + .then(function(data) {
|
| + assert_equals(data, 'error');
|
| + });
|
| + }, 'registration via <link> element `rel` rejected');
|
| +
|
| +promise_test(function(t) {
|
| + var iframe = document.createElement('iframe');
|
| + iframe.setAttribute('src', 'resources/iframe-register-link-element.html?subtest2');
|
| + iframe.setAttribute('sandbox', 'allow-scripts allow-same-origin');
|
| +
|
| + document.body.appendChild(iframe);
|
| + t.add_cleanup(function() {
|
| + iframe.remove();
|
| + });
|
| +
|
| + return waitForMsg('?subtest2')
|
| + .then(function(data) {
|
| + assert_equals(data, 'loaded');
|
| + });
|
| + }, 'registration via <link> element `rel` accepted in presence of `allow-same-origin` directive');
|
| +</script>
|
| +</body>
|
|
|