[tor-commits] [torbutton/master] Bug #9570: Private browsing changes since FF ESR 17.
mikeperry at torproject.org
mikeperry at torproject.org
Thu Nov 28 03:47:43 UTC 2013
commit bc00d2adc4b27469f000c121afbed7e30f53b553
Author: Kathy Brade <brade at pearlcrescent.com>
Date: Fri Oct 25 17:47:38 2013 -0400
Bug #9570: Private browsing changes since FF ESR 17.
Use new APIs while maintaining compatibility with older versions of Firefox.
---
src/chrome/content/torbutton.js | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index 2295605..c97a1bd 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -1546,9 +1546,8 @@ function torbutton_do_new_identity() {
torbutton_log(3, "New Identity: Clearing LocalStorage");
try {
- var storageManagerService = Cc["@mozilla.org/dom/storagemanager;1"].
- getService(Ci.nsIDOMStorageManager);
- storageManagerService.clearOfflineApps();
+ Components.utils.import("resource:///modules/offlineAppCache.jsm");
+ OfflineAppCacheHelper.clear();
} catch(e) {
torbutton_log(5, "Exception on localStorage clearing: "+e);
window.alert("Torbutton: Unexpected error during localStorage clearing: "+e);
@@ -1585,9 +1584,18 @@ function torbutton_do_new_identity() {
// XXX: This may not clear zoom site-specific
// browser.content.full-zoom
- var cps = Cc["@mozilla.org/content-pref/service;1"].
- createInstance(Ci.nsIContentPrefService);
- cps.removeGroupedPrefs();
+ if (Ci.nsIContentPrefService2) { // Firefox >= 20
+ XPCOMUtils.defineLazyModuleGetter(this, "PrivateBrowsingUtils",
+ "resource://gre/modules/PrivateBrowsingUtils.jsm");
+ var pbCtxt = PrivateBrowsingUtils.privacyContextFromWindow(window);
+ var cps = Cc["@mozilla.org/content-pref/service;1"]
+ .getService(Ci.nsIContentPrefService2);
+ cps.removeAllDomains(pbCtxt);
+ } else { // Firefox < 20
+ var cps = Cc["@mozilla.org/content-pref/service;1"].
+ createInstance(Ci.nsIContentPrefService);
+ cps.removeGroupedPrefs();
+ }
torbutton_log(3, "New Identity: Syncing prefs");
@@ -1616,6 +1624,8 @@ function torbutton_do_new_identity() {
torbutton_log(3, "New Identity: Opening a new browser window");
// Open a new window with the TBB check homepage
+ // In Firefox >=19, can pass {private: true} but we do not need it because
+ // we have browser.privatebrowsing.autostart = true
OpenBrowserWindow();
torbutton_log(3, "New identity successful");
More information about the tor-commits
mailing list