| Index: third_party/WebKit/LayoutTests/external/wpt/html/dom/self-origin.sub.html
|
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/self-origin.sub.html b/third_party/WebKit/LayoutTests/external/wpt/html/dom/self-origin.sub.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4143a4a20ab4459a73dca5700cae2275c53293ee
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/external/wpt/html/dom/self-origin.sub.html
|
| @@ -0,0 +1,93 @@
|
| +<!DOCTYPE HTML>
|
| +<meta charset=utf-8>
|
| +<script src="/resources/testharness.js"></script>
|
| +<script src="/resources/testharnessreport.js"></script>
|
| +<div id=log></div>
|
| +<iframe></iframe>
|
| +<iframe id="blob-test"></iframe> <!-- will get blob: URI -->
|
| +<iframe src="javascript:'javascript'"></iframe>
|
| +<iframe srcdoc="srcdoc"></iframe>
|
| +<!-- Use the non-default HTTP port so we can make sure it gets included in
|
| + self.origin -->
|
| +<iframe src="http://{{domains[www1]}}:{{ports[http][1]}}{{location[path]}}/../resources/self-origin-subframe.html"></iframe>
|
| +<!-- Using the punycode version on purpose, we expect to get back the IDNA
|
| + version in self.origin -->
|
| +<iframe src="http://xn--lve-6lad.{{domains[]}}:{{ports[http][1]}}{{location[path]}}/../resources/self-origin-subframe.html"></iframe>
|
| +<iframe src="resources/self-origin-subframe.html" sandbox="allow-scripts"></iframe>
|
| +<script type="application/javascript">
|
| +test(function() {
|
| + var blob = new Blob(['blob']);
|
| + var url = URL.createObjectURL(blob);
|
| + document.getElementById("blob-test").src = url;
|
| +}, "Assigning blob url");
|
| +
|
| +/* Each message test is a four things: window to send message to, message to
|
| + send, expected response, async test to use. */
|
| +var messageTests = [
|
| + [ frames[4], "getOrigin", "http://{{domains[www1]}}:{{ports[http][1]}}",
|
| + async_test("Should have the right origin for cross-origin subframe") ],
|
| + [ frames[4], "setDomainAndGetOrigin", "http://{{domains[www1]}}:{{ports[http][1]}}",
|
| + async_test("Should have the right origin for cross-origin subframe after setting document.domain") ],
|
| + [ frames[5], "getOrigin", "http://élève.{{domains[]}}:{{ports[http][1]}}",
|
| + async_test("Should have the right origin for IDN subframe") ],
|
| + [ frames[5], "setDomainAndGetOrigin", "http://élève.{{domains[]}}:{{ports[http][1]}}",
|
| + async_test("Should have the right origin for IDN subframe after setting document.domain") ],
|
| + [ frames[6], "getOrigin", "null",
|
| + async_test("Should have the right origin for sandboxed iframe") ],
|
| +];
|
| +
|
| +var curTest = 0;
|
| +function nextMessageTest() {
|
| + if (curTest == messageTests.length) {
|
| + return;
|
| + }
|
| +
|
| + var testData = messageTests[curTest];
|
| + testData[0].postMessage(testData[1], "*");
|
| +}
|
| +
|
| +window.onmessage = function(e) {
|
| + var testData = messageTests[curTest++];
|
| + testData[3].step_func(function() {
|
| + assert_equals(e.data, testData[2])
|
| + });
|
| + testData[3].done();
|
| + nextMessageTest();
|
| +}
|
| +
|
| +addEventListener("load", nextMessageTest);
|
| +
|
| +test(function() {
|
| + assert_equals(self.origin, "http://{{location[host]}}");
|
| +}, "We should have the right origin for our page");
|
| +
|
| +var t1 = async_test("about:blank subframe origins");
|
| +addEventListener("load", t1.step_func_done(function() {
|
| + assert_equals(frames[0].location.origin, "null",
|
| + "Should have the right location origin for about:blank iframe");
|
| + assert_equals(frames[0].origin, "http://{{location[host]}}",
|
| + "Should have the right origin for about:blank iframe");
|
| +}));
|
| +
|
| +var t2 = async_test("blob: subframe origins");
|
| +addEventListener("load", t2.step_func_done(function() {
|
| + assert_equals(frames[1].location.origin, "http://{{location[host]}}",
|
| + "Should have the right location origin for blob: iframe");
|
| + assert_equals(frames[1].origin, "http://{{location[host]}}",
|
| + "Should have the right origin for blob: iframe");
|
| +}));
|
| +
|
| +var t3 = async_test("javascript: subframe origins");
|
| +addEventListener("load", t3.step_func_done(function() {
|
| + assert_equals(frames[2].origin, "http://{{location[host]}}",
|
| + "Should have the right origin for javascript: iframe");
|
| +}));
|
| +
|
| +var t4 = async_test("srcdoc subframe origins");
|
| +addEventListener("load", t4.step_func_done(function() {
|
| + assert_equals(frames[3].location.origin, "null",
|
| + "Should have the right location origin for srcdoc iframe");
|
| + assert_equals(frames[3].origin, "http://{{location[host]}}",
|
| + "Should have the right origin for srcdoc iframe");
|
| +}));
|
| +</script>
|
|
|