diff options
Diffstat (limited to 'dom/tests/mochitest/sessionstorage/interOriginTest.js')
-rw-r--r-- | dom/tests/mochitest/sessionstorage/interOriginTest.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/dom/tests/mochitest/sessionstorage/interOriginTest.js b/dom/tests/mochitest/sessionstorage/interOriginTest.js new file mode 100644 index 000000000..adea77edb --- /dev/null +++ b/dom/tests/mochitest/sessionstorage/interOriginTest.js @@ -0,0 +1,44 @@ +var slaveLoadsPending = 1; + +var slaveOrigin = ""; +var slave = null; + +var failureRegExp = new RegExp("^FAILURE"); +const slavePath = "/tests/dom/tests/mochitest/sessionstorage/"; + +window.addEventListener("message", onMessageReceived, false); + +function onMessageReceived(event) +{ + //alert("master got event: "+event.data); + switch (event.data) + { + // Indication of the frame onload event + case "frame loaded": + if (--slaveLoadsPending) + break; + + // Just fall through... + + // Indication of successfully finished step of a test + case "perf": + // We called doStep before the frame was load + if (event.data == "perf") + doStep(); + + slave.postMessage("step", slaveOrigin); + break; + + // Indication of all test parts finish (from any of the frames) + case "done": + sessionStorage.clear(); + slaveLoadsPending = 1; + doNextTest(); + break; + + // Any other message indicates error or succes message of a test + default: + SimpleTest.ok(!event.data.match(failureRegExp), event.data); + break; + } +} |