Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!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>