Index: third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_origin_mismatch.sub.htm |
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_origin_mismatch.sub.htm b/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_origin_mismatch.sub.htm |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6c8ac8353a77224d14b2107779b3e69148bfb831 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_origin_mismatch.sub.htm |
@@ -0,0 +1,51 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+<title> Same-origin: Origin of the target window doesn't match the given origin </title> |
+<script src="/resources/testharness.js"></script> |
+<script src="/resources/testharnessreport.js"></script> |
+</head> |
+<body> |
+<div id=log></div> |
+ |
+<div style="display:none"> |
+ <iframe width="70%" onload="PostMessageTest()" src="./support/ChildWindowPostMessage.htm"></iframe> |
+</div> |
+ |
+<script> |
+ |
+ |
+ var description = "Test Description: " + |
+ "Same-origin: If the origin of the target window doesn't match the given origin, " + |
+ "the message is discarded."; |
+ |
+ var t = async_test(description); |
+ |
+ var PORT = location.port !== "" ? ":" + location.port : ""; |
+ var TARGET = document.querySelector("iframe"); |
+ var XORIGIN = "{{location[scheme]}}://{{domains[www1]}}" + PORT; |
+ var SORIGIN = "{{location[scheme]}}://{{host}}" + PORT; |
+ var ExpectedResult = ["#0", SORIGIN, "#3", SORIGIN]; |
+ var ActualResult = []; |
+ |
+ function PostMessageTest() |
+ { |
+ TARGET.contentWindow.postMessage("#0", SORIGIN); |
+ TARGET.contentWindow.postMessage("#1", "http://www.invalid-domain.com"); |
+ TARGET.contentWindow.postMessage("#2", XORIGIN); |
+ TARGET.contentWindow.postMessage("#3", "*"); |
+ } |
+ |
+ window.onmessage = t.step_func(function(e) |
+ { |
+ ActualResult.push(e.data, e.origin); |
+ |
+ if (ActualResult.length >= ExpectedResult.length) |
+ { |
+ assert_array_equals(ActualResult, ExpectedResult, "ActualResult"); |
+ t.done(); |
+ } |
+ }); |
+</script> |
+</body> |
+</html> |