| <!DOCTYPE html> |
| <title>Shared Worker: Data URL cross-origin checks</title> |
| <script src="/common/get-host-info.sub.js"></script> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <body> |
| </body> |
| <script> |
| |
| function dirname(path) { |
| return path.replace(/\/[^\/]*$/, '/'); |
| } |
| |
| promise_test(t => { |
| return new Promise(function(resolve) { |
| let count = 0; |
| onmessage = e => { |
| assert_equals(e.data, 1); |
| if (++count == 2) { |
| resolve(true); |
| } |
| }; |
| |
| let iframeA = document.createElement('iframe'); |
| document.body.appendChild(iframeA); |
| iframeA.src = get_host_info().HTTP_REMOTE_ORIGIN + |
| dirname(location.pathname) + |
| "support/iframe_sw_dataUrl.html"; |
| |
| let iframeB = document.createElement('iframe'); |
| document.body.appendChild(iframeB); |
| iframeB.src = get_host_info().HTTPS_REMOTE_ORIGIN + |
| dirname(location.pathname) + |
| "support/iframe_sw_dataUrl.html"; |
| }); |
| }, 'Data URL not shared by cross-origin SharedWorkers'); |
| |
| promise_test(t => { |
| return new Promise(function(resolve) { |
| let count = 0; |
| onmessage = e => { |
| assert_equals(e.data, ++count); |
| if (count == 2) { |
| resolve(true); |
| } |
| }; |
| |
| let iframeA = document.createElement('iframe'); |
| document.body.appendChild(iframeA); |
| iframeA.src = get_host_info().HTTP_ORIGIN + |
| dirname(location.pathname) + |
| "support/iframe_sw_dataUrl.html"; |
| |
| let iframeB = document.createElement('iframe'); |
| document.body.appendChild(iframeB); |
| iframeB.src = get_host_info().HTTP_ORIGIN + |
| dirname(location.pathname) + |
| "support/iframe_sw_dataUrl.html"; |
| }); |
| }, 'Data URLs shared by same-origin SharedWorkers'); |
| |
| </script> |
| </html> |