Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 var slaveLoadsPending = 1;
3 var slaveOrigin = "";
4 var slave = null;
6 var failureRegExp = new RegExp("^FAILURE");
7 const slavePath = "/tests/dom/tests/mochitest/sessionstorage/";
9 window.addEventListener("message", onMessageReceived, false);
11 function onMessageReceived(event)
12 {
13 //alert("master got event: "+event.data);
14 switch (event.data)
15 {
16 // Indication of the frame onload event
17 case "frame loaded":
18 if (--slaveLoadsPending)
19 break;
21 // Just fall through...
23 // Indication of successfully finished step of a test
24 case "perf":
25 // We called doStep before the frame was load
26 if (event.data == "perf")
27 doStep();
29 slave.postMessage("step", slaveOrigin);
30 break;
32 // Indication of all test parts finish (from any of the frames)
33 case "done":
34 sessionStorage.clear();
35 slaveLoadsPending = 1;
36 doNextTest();
37 break;
39 // Any other message indicates error or succes message of a test
40 default:
41 SimpleTest.ok(!event.data.match(failureRegExp), event.data);
42 break;
43 }
44 }