diff --git a/common/content/dactyl.js b/common/content/dactyl.js index c0cce9af..a54b577b 100644 --- a/common/content/dactyl.js +++ b/common/content/dactyl.js @@ -1432,8 +1432,9 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), { win.setAttribute("titlemodifier_normal", value); win.setAttribute("titlemodifier_privatebrowsing", value + suffix); - if (services.privateBrowsing.privateBrowsingEnabled) { + if (storage.privateMode) { updateTitle(oldValue + suffix, value + suffix); + win.setAttribute("titlemodifier", value + suffix); return value; } } diff --git a/common/modules/storage.jsm b/common/modules/storage.jsm index 6e5ed1c5..be31428d 100644 --- a/common/modules/storage.jsm +++ b/common/modules/storage.jsm @@ -246,9 +246,14 @@ var Storage = Module("Storage", { if (params == null || !isObject(params)) throw Error("Invalid argument type"); + if (!(key in this.keys) && this.privateMode && key in this.globalInstance.keys) { + let obj = this.globalInstance.keys[key]; + this.keys[key] = obj.clone ? obj.clone(this) : obj; + } + if (!(key in this.keys) || params.reload || this.alwaysReload[key]) { if (key in this && !(params.reload || this.alwaysReload[key])) - throw Error(); + throw Error("WTF? Hm..."); let load = function () self._loadData(key, params.store, params.type || myObject); this.keys[key] = new constructor(key, params.store, load, params);