dom/tests/mochitest/storageevent/frameSessionStorageSlaveEqual.html

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:459cab3bc866
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 }, false);
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');">
58 </body>
59 </html>

mercurial