Chromium Code Reviews| 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 17 matching lines...) Expand all Loading... | |
| 28 function tryPostMessageFunction(postMessageFunction, first, second, third, shoul dFail) { | 28 function tryPostMessageFunction(postMessageFunction, first, second, third, shoul dFail) { |
| 29 var pass, reason; | 29 var pass, reason; |
| 30 try { | 30 try { |
| 31 postMessageFunction(first, second, third); | 31 postMessageFunction(first, second, third); |
| 32 pass = !shouldFail; | 32 pass = !shouldFail; |
| 33 reason = " did not throw an exception"; | 33 reason = " did not throw an exception"; |
| 34 } catch (e) { | 34 } catch (e) { |
| 35 pass = shouldFail; | 35 pass = shouldFail; |
| 36 reason = ": threw exception " + e; | 36 reason = ": threw exception " + e; |
| 37 } | 37 } |
| 38 // we cannot convert detached typed arrays into strings, thus | |
| 39 // manually convert detached typed arrays into a null string. | |
| 40 if (first instanceof Int8Array && first.byteLength === 0) | |
| 41 first = ""; | |
| 42 for (var i = 0; third && i < third.length; i++) { | |
| 43 if (third[i] instanceof Int8Array && third[i].byteLength === 0) | |
| 44 third[i] = ""; | |
| 45 } | |
|
Dan Ehrenberg
2017/04/11 10:20:22
Nit: this code could be slightly cleaned up, and c
Choongwoo Han
2017/04/11 12:48:23
Done.
| |
| 38 if (pass) | 46 if (pass) |
| 39 testPassed("Posting message ('" + first + "', " + third + ")" + reason); | 47 testPassed("Posting message ('" + first + "', " + third + ")" + reason); |
| 40 else | 48 else |
| 41 testFailed("Posting message ('" + first + "', " + third + ")" + reason); | 49 testFailed("Posting message ('" + first + "', " + third + ")" + reason); |
| 42 } | 50 } |
| 43 | 51 |
| 44 function tryPostMessage(first, second, third, shouldFail) { | 52 function tryPostMessage(first, second, third, shouldFail) { tryPostMessageFuncti on(window.postMessage, first, second, third, shouldFail); |
|
Dan Ehrenberg
2017/04/11 10:20:22
Nit: Undo this whitespace change.
Choongwoo Han
2017/04/11 12:48:23
Done.
| |
| 45 tryPostMessageFunction(window.postMessage, first, second, third, shouldFail) ; | |
| 46 } | 53 } |
| 47 | 54 |
| 48 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>"; | 55 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>"; |
| 49 | 56 |
| 50 tryPostMessage('1', '*', 1, true); | 57 tryPostMessage('1', '*', 1, true); |
| 51 tryPostMessage('2', '*', 'c', true); | 58 tryPostMessage('2', '*', 'c', true); |
| 52 tryPostMessage('3', '*', { x: 1 }, true); | 59 tryPostMessage('3', '*', { x: 1 }, true); |
| 53 tryPostMessage('4', '*', window); // Passes because window has a "length" attri bute of value '0', so it looks like an array | 60 tryPostMessage('4', '*', window); // Passes because window has a "length" attri bute of value '0', so it looks like an array |
| 54 tryPostMessage('5', '*', undefined); | 61 tryPostMessage('5', '*', undefined); |
| 55 tryPostMessage('5a', '*', null, true); | 62 tryPostMessage('5a', '*', null, true); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 92 tryPostMessageFunction(window.postMessage, 'data', '*', [1,,2], true); | 99 tryPostMessageFunction(window.postMessage, 'data', '*', [1,,2], true); |
| 93 tryPostMessageFunction(window.postMessage, 'data', '*', [null, window.postMessag e], true); | 100 tryPostMessageFunction(window.postMessage, 'data', '*', [null, window.postMessag e], true); |
| 94 | 101 |
| 95 shouldThrow("window.postMessage()"); | 102 shouldThrow("window.postMessage()"); |
| 96 shouldThrow("window.postMessage('a')"); | 103 shouldThrow("window.postMessage('a')"); |
| 97 | 104 |
| 98 tryPostMessageFunction(window.postMessage, 'done', '*'); | 105 tryPostMessageFunction(window.postMessage, 'done', '*'); |
| 99 </script> | 106 </script> |
| 100 </body> | 107 </body> |
| 101 </html> | 108 </html> |
| OLD | NEW |