dom/tests/mochitest/storageevent/frameLocalStorageMaster.html

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     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