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 gNotifications = 0;
3 var observer = {
4 QueryInterface: function(iid) {
5 if (Ci.nsIPrivacyTransitionObserver.equals(iid) ||
6 Ci.nsISupportsWeakReference.equals(iid) ||
7 Ci.nsISupports.equals(iid))
8 return this;
9 throw Cr.NS_ERROR_NO_INTERFACE;
10 },
12 privateModeChanged: function(enabled) {
13 gNotifications++;
14 }
15 }
17 function run_test() {
18 var docshell = Cc["@mozilla.org/docshell;1"].createInstance(Ci.nsIDocShell);
19 docshell.addWeakPrivacyTransitionObserver(observer);
20 docshell.QueryInterface(Ci.nsILoadContext).usePrivateBrowsing = true;
21 docshell.QueryInterface(Ci.nsILoadContext).usePrivateBrowsing = false;
22 do_check_eq(gNotifications, 2);
23 }