dom/tests/mochitest/storageevent/frameSessionStorageMasterNotEqual.html

branch
TOR_BUG_9701
changeset 8
97036ab72558
equal deleted inserted replaced
-1:000000000000 0:d0d5d5676bc3
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 case 1:
21 // Must not fire (storage must be clear!)
22 sessionStorage.clear();
23 // Must fire X:null->'1'
24 sessionStorage.setItem("X", "1");
25 // Must fire X:'1'->'2'
26 sessionStorage.setItem("X", "2");
27 // Must not fire
28 sessionStorage.setItem("X", "2");
29 // Must fire X:'2'->null
30 sessionStorage.removeItem("X");
31 // Must not fire
32 sessionStorage.removeItem("X");
33 // Must not fire
34 sessionStorage.removeItem("Y");
35 // Must fire X:null->'2' (we need something in the storage)
36 sessionStorage.setItem("X", "2");
37 // Must fire null:null->null (one item has been erased)
38 sessionStorage.clear();
39 // Must not fire
40 sessionStorage.clear();
41 break;
42
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 }
48
49 // Increase by two to distinguish each test step order
50 // in both master doStep and slave doStep functions.
51 ++currentStep;
52 ++currentStep;
53
54 return true;
55 }
56
57 </script>
58
59 </head>
60
61 <body onload="postMsg('frame loaded');">
62 <iframe src="http://example.com:80/tests/dom/tests/mochitest/storageevent/frameSessionStorageSlaveNotEqual.html"
63 name="slaveFrame">
64 </iframe>
65 </body>
66 </html>

mercurial