tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

interOriginTest2.js (1246B)


      1 var t = async_test(document.title);
      2 
      3 var frameLoadsPending = 2;
      4 
      5 var callMasterFrame = true;
      6 var testDone = false;
      7 
      8 var masterFrameOrigin = "";
      9 var slaveFrameOrigin = "";
     10 
     11 var failureRegExp = new RegExp("^FAILURE");
     12 
     13 const framePath = "/tests/dom/tests/mochitest/localstorage/";
     14 
     15 window.addEventListener("message", onMessageReceived);
     16 
     17 function onMessageReceived(event) {
     18  switch (event.data) {
     19    // Indication of the frame onload event
     20    case "frame loaded":
     21      if (--frameLoadsPending) {
     22        break;
     23      }
     24 
     25    // Indication of successfully finished step of a test
     26    // Just fall through...
     27    case "perf":
     28      if (callMasterFrame) {
     29        masterFrame.postMessage("step", masterFrameOrigin);
     30      } else {
     31        slaveFrame.postMessage("step", slaveFrameOrigin);
     32      }
     33      callMasterFrame = !callMasterFrame;
     34      break;
     35 
     36    // Indication of all test parts finish (from any of the frames)
     37    case "done":
     38      if (testDone) {
     39        break;
     40      }
     41 
     42      testDone = true;
     43      t.done();
     44      break;
     45 
     46    // Any other message indicates error, succes or todo message of a test
     47    default:
     48      t.step(function () {
     49        assert_true(!event.data.match(failureRegExp), event.data);
     50      });
     51      break;
     52  }
     53 }