OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <script src="../../../resources/js-test.js"></script> | 3 <script src="../../../resources/js-test.js"></script> |
4 </head> | 4 </head> |
5 <body> | 5 <body> |
6 <script> | 6 <script> |
7 description("Test window.postMessage() argument handling."); | 7 description("Test window.postMessage() argument handling."); |
8 | 8 |
9 self.jsTestIsAsync = true; | 9 self.jsTestIsAsync = true; |
10 | 10 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 | 55 |
56 function tryPostMessage(first, second, third, shouldFail) { | 56 function tryPostMessage(first, second, third, shouldFail) { |
57 tryPostMessageFunction(window.postMessage, first, second, third, shouldFail)
; | 57 tryPostMessageFunction(window.postMessage, first, second, third, shouldFail)
; |
58 } | 58 } |
59 | 59 |
60 document.getElementById("description").innerHTML = "Test that the second argumen
t of window.postMessage is ignored or triggers an error if it is not a message p
ort. You should see PASS message '1' through '7', followed by 'done', with messa
ges 4-7 received below.<br><br>"; | 60 document.getElementById("description").innerHTML = "Test that the second argumen
t of window.postMessage is ignored or triggers an error if it is not a message p
ort. You should see PASS message '1' through '7', followed by 'done', with messa
ges 4-7 received below.<br><br>"; |
61 | 61 |
62 tryPostMessage('1', '*', 1, true); | 62 tryPostMessage('1', '*', 1, true); |
63 tryPostMessage('2', '*', 'c', true); | 63 tryPostMessage('2', '*', 'c', true); |
64 tryPostMessage('3', '*', { x: 1 }, true); | 64 tryPostMessage('3', '*', { x: 1 }, true); |
65 tryPostMessage('4', '*', window); // Passes because window has a "length" attri
bute of value '0', so it looks like an array | 65 tryPostMessage('4', '*', window, true); |
66 tryPostMessage('5', '*', undefined); | 66 tryPostMessage('5', '*', undefined); |
67 tryPostMessage('5a', '*', null, true); | 67 tryPostMessage('5a', '*', null, true); |
68 tryPostMessage('6', '*', void 0); | 68 tryPostMessage('6', '*', void 0); |
69 var channel1 = new MessageChannel; | 69 var channel1 = new MessageChannel; |
70 tryPostMessageFunction(window.postMessage, '7', '*', [channel1.port1, channel1.p
ort2]); | 70 tryPostMessageFunction(window.postMessage, '7', '*', [channel1.port1, channel1.p
ort2]); |
71 var channel2 = new MessageChannel; | 71 var channel2 = new MessageChannel; |
72 tryPostMessageFunction(window.postMessage, '7', '*', [channel2.port1, channel2.p
ort2]); | 72 tryPostMessageFunction(window.postMessage, '7', '*', [channel2.port1, channel2.p
ort2]); |
73 var channel3 = new MessageChannel; | 73 var channel3 = new MessageChannel; |
74 tryPostMessage(2147483648, '*', undefined); | 74 tryPostMessage(2147483648, '*', undefined); |
75 tryPostMessage(2147483648, '*', null, true); | 75 tryPostMessage(2147483648, '*', null, true); |
(...skipping 28 matching lines...) Expand all Loading... |
104 tryPostMessageFunction(window.postMessage, 'data', '*', [1,,2], true); | 104 tryPostMessageFunction(window.postMessage, 'data', '*', [1,,2], true); |
105 tryPostMessageFunction(window.postMessage, 'data', '*', [null, window.postMessag
e], true); | 105 tryPostMessageFunction(window.postMessage, 'data', '*', [null, window.postMessag
e], true); |
106 | 106 |
107 shouldThrow("window.postMessage()"); | 107 shouldThrow("window.postMessage()"); |
108 shouldThrow("window.postMessage('a')"); | 108 shouldThrow("window.postMessage('a')"); |
109 | 109 |
110 tryPostMessageFunction(window.postMessage, 'done', '*'); | 110 tryPostMessageFunction(window.postMessage, 'done', '*'); |
111 </script> | 111 </script> |
112 </body> | 112 </body> |
113 </html> | 113 </html> |
OLD | NEW |