tor-browser

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

frameSessionStorageSlaveEqual.html (1381B)


      1 <html xmlns="http://www.w3.org/1999/xhtml">
      2 <head>
      3 <title>slave for storage event propagation</title>
      4 
      5 <script type="text/javascript" src="interOriginFrame.js"></script>
      6 <script type="text/javascript">
      7 
      8 var currentStep = 2;
      9 
     10 var events = [];
     11 
     12 window.addEventListener("storage", function(event)
     13 {
     14  events.push(event);
     15 });
     16 
     17 function doStep()
     18 {
     19  function checkEvent(expectedKey, expectedOldValue, expectedNewValue)
     20  {
     21    var event = events.shift();
     22    ok(event, "Event is present");
     23    if (!event)
     24      return;
     25 
     26    is(event.key, expectedKey, "key name check");
     27    is(event.oldValue, expectedOldValue, "old value check");
     28    is(event.newValue, expectedNewValue, "new value check");
     29    is(event.url, "http://example.com/tests/dom/tests/mochitest/storageevent/frameSessionStorageMasterEqual.html");
     30    ok(event.storageArea);
     31  }
     32 
     33  switch (currentStep)
     34  {
     35    case 10:
     36      is(events.length, 5, "Expected 5 events");
     37      checkEvent("X", null, "1");
     38      checkEvent("X", "1", "2");
     39      checkEvent("X", "2", null);
     40      checkEvent("X", null, "2");
     41      checkEvent(null, null, null);
     42      break;
     43  }
     44 
     45  // Increase by two to distinguish each test step order
     46  // in both master doStep and slave doStep functions.
     47  ++currentStep;
     48  ++currentStep;
     49 
     50  return true;
     51 }
     52 
     53 </script>
     54 
     55 </head>
     56 
     57 <body onload="postMsg('frame loaded', 'http://example.com:80');">
     58 </body>
     59 </html>