dom/tests/mochitest/storageevent/frameLocalStorageMaster.html

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 <html xmlns="http://www.w3.org/1999/xhtml">
     2 <head>
     3 <title>master frame for event storage propagation</title>
     5 <script type="text/javascript" src="interOriginFrame.js"></script>
     6 <script type="text/javascript">
     8 var currentStep = 1;
     9 var gotEvent = false;
    11 window.addEventListener("storage", function(event)
    12 {
    13   gotEvent = true;
    14 }, false);
    16 function doStep()
    17 {
    18   switch (currentStep)
    19   {
    20     case 1:
    21       // Must not fire (storage must be clear!)
    22       localStorage.clear();
    23       // Must fire X:null->'1'
    24       localStorage.setItem("X", "1");
    25       // Must fire X:'1'->'2'
    26       localStorage.setItem("X", "2");
    27       // Must not fire
    28       localStorage.setItem("X", "2");
    29       // Must fire X:'2'->null
    30       localStorage.removeItem("X");
    31       // Must not fire
    32       localStorage.removeItem("X");
    33       // Must not fire
    34       localStorage.removeItem("Y");
    35       // Must fire X:null->'2' (we need something in the storage)
    36       localStorage.setItem("X", "2");
    37       // Must fire null:null->null (one item has been erased)
    38       localStorage.clear();
    39       // Must not fire
    40       localStorage.clear();
    41       break;
    43     // Wait some time to let the async event be propagated
    44     case 11:
    45       is(gotEvent, false, "Expected no events");
    46       return finishTest();
    47   }
    49   // Increase by two to distinguish each test step order
    50   // in both master doStep and slave doStep functions.
    51   ++currentStep;
    52   ++currentStep;
    54   return true;
    55 }
    57 </script>
    59 </head>
    61 <body onload="postMsg('frame loaded');">
    62 </body>
    63 </html>

mercurial