Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Unified Diff: third_party/WebKit/LayoutTests/http/tests/security/postMessage/target-origin-same-site.html

Issue 2015713002: Resolve console output in postMessage tests with site-per-process. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: bug reference Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/http/tests/security/postMessage/target-origin-same-site.html
diff --git a/third_party/WebKit/LayoutTests/http/tests/security/postMessage/target-origin-same-site.html b/third_party/WebKit/LayoutTests/http/tests/security/postMessage/target-origin-same-site.html
new file mode 100644
index 0000000000000000000000000000000000000000..443c41224c5e597673f3e13015c48cedd7351861
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/http/tests/security/postMessage/target-origin-same-site.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="resources/recv.js"></script>
+<script>
+if (window.testRunner) {
+ testRunner.dumpAsText();
+ testRunner.waitUntilDone();
+}
+
+var totalExpectedReplies = 0;
+var receivedMessages = [];
+
+function tryPostMessage(win, origin, shouldExpectReply) {
+ try {
+ win.postMessage("Trying origin=" + origin, origin);
+ if (shouldExpectReply)
+ totalExpectedReplies++;
+ } catch(ex) {
+ log("Error sending message to " + origin + ". " + ex);
+ }
+}
+
+function receiveAndSort(e) {
+ var msg = extractMessage(e);
+ receivedMessages.push(msg);
+ if (receivedMessages.length == totalExpectedReplies) {
+ receivedMessages.sort();
+ receivedMessages.map(log);
+ if (window.testRunner)
+ testRunner.notifyDone();
+ }
+}
+
+addEventListener("message", receiveAndSort, false);
+
+function test() {
+ var win127 = document.getElementById('iframe-127').contentWindow;
+
+ // Should succeed:
+ tryPostMessage(win127, "http://127.0.0.1:8000", true);
+ tryPostMessage(win127, "http://127.0.0.1:8000/", true);
+ tryPostMessage(win127, "http://127.0.0.1:8000/foo", true);
+ tryPostMessage(win127, "http://127.0.0.1:8000/foo?bar#baz", true);
+ tryPostMessage(win127, "http://127.0.0.1:8000/foo?bar", true);
+ tryPostMessage(win127, "http://user:pass@127.0.0.1:8000/foo?bar#baz", true);
+
+ // Should fail:
+ tryPostMessage(win127, "http://127.0.0.1:9090", false);
+ tryPostMessage(win127, "http://127.0.0.1", false);
+ tryPostMessage(win127, "https://127.0.0.1", false);
+ tryPostMessage(win127, "https://127.0.0.1:8000", false);
+ tryPostMessage(win127, "http://www.example.com", false);
+ tryPostMessage(win127, "asdf:", false);
+
+ // Should throw syntax error:
+ tryPostMessage(win127, "", false);
+ tryPostMessage(win127, "asdf", false);
+ tryPostMessage(win127, "/tmp/foo", false);
+ tryPostMessage(win127, "//localhost", false);
+ tryPostMessage(win127, "http:", false);
+}
+
+</script>
+<body onload="test()">
+<div>window.location.href = <script>document.write(window.location.href);</script></div>
+<div><iframe src="http://127.0.0.1:8000/security/postMessage/resources/post-message-listener.html"
+ id="iframe-127" width="800" height="300" style="border: 1px solid black;"></iframe>
+<div id="result">waiting...</div>
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698