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

Side by Side Diff: content/test/data/post_message.html

Issue 1046933005: Refactor postMessage for out-of-process iframes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Charlie's nits Created 5 years, 8 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 unified diff | Download patch
OLDNEW
1 <html> 1 <html>
2 2
3 <head><title>Post message tests</title> 3 <head><title>Post message tests</title>
4 <script> 4 <script>
5 // Send a message to our opener, and it will reply. 5 // Send a message to our opener, and it will reply.
6 function postToOpener(msg, origin) { 6 function postToOpener(msg, origin) {
7 window.opener.postMessage(msg, origin); 7 window.opener.postMessage(msg, origin);
8 return true; 8 return true;
9 } 9 }
10 10
11 // Send a message to a window named "foo". 11 // Send a message to a window named "foo".
12 function postToFoo(msg) { 12 function postToFoo(msg) {
13 var w = window.open("", "foo"); 13 var w = window.open("", "foo");
14 w.postMessage(msg, "*"); 14 w.postMessage(msg, "*");
15 return true; 15 return true;
16 } 16 }
17 17
18 // Send a message to parent.
19 function postToParent(msg) {
20 parent.postMessage(msg, "*");
21 return true;
22 }
23
24 // Send a message to sibling.
25 function postToSibling(msg, sibling) {
26 parent.frames[sibling].postMessage(msg, "*");
27 return true;
28 }
29
18 // Send a message to a subframe of window named "foo". 30 // Send a message to a subframe of window named "foo".
19 function postToFooFrame(msg) { 31 function postToFooFrame(msg) {
20 var w = window.open("", "foo"); 32 var w = window.open("", "foo");
21 w.frames[0][0].postMessage(msg, "*"); 33 w.frames[0][0].postMessage(msg, "*");
22 return true; 34 return true;
23 } 35 }
24 36
25 // Listen to incoming messages. 37 // Listen to incoming messages.
26 var receivedMessages = 0; 38 var receivedMessages = 0;
27 var receivedMessagesWithPort = 0; 39 var receivedMessagesWithPort = 0;
28 window.addEventListener("message", messageReceived, false); 40 window.addEventListener("message", messageReceived, false);
29 function messageReceived(event) { 41 function messageReceived(event) {
30 receivedMessages++; 42 receivedMessages++;
31 if (event.data === "2-1-reply") { 43 if (event.data === "2-1-reply") {
32 event.source.postMessage("msg4", "*"); 44 event.source.postMessage("msg4", "*");
45 } else if (event.data === "subframe-msg") {
46 event.source.postMessage("subframe-msg-reply", "*");
47 } else if (event.data === "subframe-msg-reply") {
48 domAutomationController.setAutomationId(0);
49 domAutomationController.send("done-" + window.name);
33 } 50 }
34 if (event.ports.length > 0) { 51 if (event.ports.length > 0) {
35 receivedMessagesWithPort++; 52 receivedMessagesWithPort++;
36 var port = event.ports[0]; 53 var port = event.ports[0];
37 port.start(); 54 port.start();
38 port.postMessage("msg-back-via-port"); 55 port.postMessage("msg-back-via-port");
39 // Change the title to generate a notification. 56 // Change the title to generate a notification.
40 document.title = event.data.message; 57 document.title = event.data.message;
41 } else { 58 } else {
42 document.title = event.data; 59 document.title = event.data;
43 } 60 }
44 } 61 }
45 </script> 62 </script>
46 </head> 63 </head>
47 64
48 </html> 65 </html>
OLDNEW
« no previous file with comments | « content/test/data/frame_tree/page_with_post_message_frames.html ('k') | testing/buildbot/chromium.fyi.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698