Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 <script> | |
| 2 // Tests that the detail property of custom events does not leak between | |
| 3 // isolated worlds (checks bug 85158) | |
| 4 | |
| 5 // This test is meaningless without testRunner. | |
| 6 function log(m) | |
| 7 { | |
| 8 var results = document.getElementById('results'); | |
| 9 results.innerHTML += m + '<br>'; | |
| 10 } | |
| 11 | |
| 12 function shouldBe(aDescription, a, b) | |
|
haraken
2013/06/25 02:06:58
You can use fast/js/resources/js-test-pre.js.
jww
2013/06/26 02:27:06
Done.
| |
| 13 { | |
| 14 if (a === b) { | |
| 15 log("PASS: " + aDescription + " should be '" + b + "' and is."); | |
| 16 } else { | |
| 17 log("FAIL: " + aDescription + " should be '" + b + "' but instead is '" + a + "'."); | |
| 18 } | |
| 19 } | |
| 20 | |
| 21 if (window.testRunner) { | |
| 22 | |
| 23 testRunner.dumpAsText(); | |
|
haraken
2013/06/25 02:06:58
Nit: This isn't needed. js-test-pre.js will call i
jww
2013/06/26 02:27:06
Done.
| |
| 24 testRunner.waitUntilDone(); | |
| 25 | |
| 26 window.addEventListener("message", function(message) | |
| 27 { | |
| 28 testRunner.notifyDone(); | |
| 29 }, false); | |
| 30 | |
| 31 document.addEventListener("sendDocumentObject", function(event) { | |
| 32 var documentObject = event.detail; | |
| 33 var testResult; | |
| 34 | |
| 35 shouldBe("Object passed into isolated world", String(documentObject), Stri ng(undefined)); | |
| 36 | |
| 37 shouldBe("The property defined in isolated world ", String(document.pageDe finedVar), String(undefined)); | |
| 38 | |
| 39 window.postMessage("done", "*"); | |
| 40 }); | |
| 41 | |
| 42 function sendDocumentObject() { | |
| 43 var customEvent = document.createEvent("CustomEvent"); | |
| 44 customEvent.initCustomEvent("sendDocumentObject", true, true, document); | |
| 45 document.dispatchEvent(customEvent); | |
| 46 } | |
| 47 | |
| 48 function runTests() { | |
| 49 var script = "document.pageDefinedVar = 1;(" + sendDocumentObject.toStri ng() + ")()"; | |
| 50 testRunner.evaluateScriptInIsolatedWorld(1, script); | |
| 51 } | |
| 52 } | |
| 53 </script> | |
| 54 <body onload="runTests()"> | |
|
haraken
2013/06/25 02:06:58
Nit: You can simply write:
<!DOCTYPE html>
<html>
jww
2013/06/26 02:27:06
Done.
| |
| 55 <div id="results"></div> | |
|
haraken
2013/06/25 02:06:58
Nit: This isn't needed.
jww
2013/06/26 02:27:06
Done.
| |
| 56 </body> | |
| OLD | NEW |