Skip to content

Commit

Permalink
Merge pull request #5041 from w3c/chromium-export-try
Browse files Browse the repository at this point in the history
Added support for self.origin in Window and WorkerGlobalScope
  • Loading branch information
chromium-wpt-export-bot committed Mar 4, 2017
2 parents 80b0f65 + c0303a4 commit 3d520dd
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 0 deletions.
@@ -0,0 +1,45 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>Test workers self.origin</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
function assertOriginWorker(workerSource, expectedOrigin, testName) {
async_test(function(t) {
w = new Worker(workerSource);
w.onmessage = t.step_func(function(e) {
assert_equals(e.data, expectedOrigin);
t.done();
});
}, testName + ' Worker');
}

function assertOriginSharedWorker(workerSource, expectedOrigin, testName) {
async_test(function(t) {
w = new SharedWorker(workerSource);
w.port.start();
w.port.onmessage = t.step_func(function(e) {
assert_equals(e.data, expectedOrigin);
t.done();
});
}, testName + ' SharedWorker');
}

// Test same-origin workers
assertOriginWorker("./support/WorkerSelfOriginWorker.js", self.origin, "Same Origin");
assertOriginSharedWorker("./support/WorkerSelfOriginSharedWorker.js", self.origin, "Same Origin");

// Test data url workers have opaque origin
assertOriginWorker("data:application/javascript,postMessage(self.origin);", "null", "Data Url");
assertOriginSharedWorker("data:application/javascript,onconnect = function(e) { e.ports[0].postMessage(self.origin); }", "null", "Data Url");

// Test blob url workers
blob = new Blob(["postMessage(self.origin);"]);
blobUrl = URL.createObjectURL(blob);
assertOriginWorker(blobUrl, self.origin, "Blob Url");

blob = new Blob(["onconnect = function(e) { e.ports[0].postMessage(self.origin); }"]);
blobUrl = URL.createObjectURL(blob);
assertOriginSharedWorker(blobUrl, self.origin, "Blob Url");
</script>
@@ -0,0 +1,5 @@
// Post back the location of the worker

onconnect = function(e) {
e.ports[0].postMessage(self.origin);
}
@@ -0,0 +1,4 @@
// Post back the location of the worker

postMessage(self.origin);

0 comments on commit 3d520dd

Please sign in to comment.