| OLD | NEW |
| 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> |
| OLD | NEW |