dom/tests/mochitest/storageevent/frameSessionStorageMasterEqual.html

branch
TOR_BUG_9701
changeset 9
a63d609f5ebe
equal deleted inserted replaced
-1:000000000000 0:68fb42120e9e
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <title>master frame for event storage propagation</title>
4
5 <script type="text/javascript" src="interOriginFrame.js"></script>
6 <script type="text/javascript">
7
8 var currentStep = 1;
9 var gotEvent = false;
10
11 window.addEventListener("storage", function(event)
12 {
13 gotEvent = true;
14 }, false);
15
16 function doStep()
17 {
18 switch (currentStep)
19 {
20 // In step 2 we instantiate sessionStorage in the other frame
21 case 1:
22 // Must not fire (storage must be clear!)
23 sessionStorage.clear();
24 // Must fire X:null->'1'
25 sessionStorage.setItem("X", "1");
26 // Must fire X:'1'->'2'
27 sessionStorage.setItem("X", "2");
28 // Must not fire
29 sessionStorage.setItem("X", "2");
30 // Must fire X:'2'->null
31 sessionStorage.removeItem("X");
32 // Must not fire
33 sessionStorage.removeItem("X");
34 // Must not fire
35 sessionStorage.removeItem("Y");
36 // Must fire X:null->'2' (we need something in the storage)
37 sessionStorage.setItem("X", "2");
38 // Must fire null:null->null (one item has been erased)
39 sessionStorage.clear();
40 // Must not fire
41 sessionStorage.clear();
42 break;
43
44 // Wait some time to let the async event be propagated
45 case 11:
46 is(gotEvent, false, "Expected no events");
47 return finishTest();
48 }
49
50 // Increase by two to distinguish each test step order
51 // in both master doStep and slave doStep functions.
52 ++currentStep;
53 ++currentStep;
54
55 return true;
56 }
57
58 </script>
59
60 </head>
61
62 <body onload="postMsg('frame loaded');">
63 <iframe src="http://example.com:80/tests/dom/tests/mochitest/storageevent/frameSessionStorageSlaveEqual.html"
64 name="slaveFrame">
65 </iframe>
66 </body>
67 </html>

mercurial