X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=common%2Fmodules%2Fsanitizer.jsm;fp=common%2Fmodules%2Fsanitizer.jsm;h=e240424dba36f7af3ee308008d01adbbc65670c8;hb=70740024f9c028c1fd63e1a1850ab062ff956054;hp=c7f3ac9ebe5472aa1654ed9a0e6466b42914652f;hpb=718c614c183350706466e22939d0101ca4c87efe;p=dactyl.git diff --git a/common/modules/sanitizer.jsm b/common/modules/sanitizer.jsm index c7f3ac9..e240424 100644 --- a/common/modules/sanitizer.jsm +++ b/common/modules/sanitizer.jsm @@ -18,7 +18,7 @@ Components.utils.import("resource://dactyl/bootstrap.jsm"); defineModule("sanitizer", { exports: ["Range", "Sanitizer", "sanitizer"], use: ["config"], - require: ["messages", "prefs", "services", "storage", "template", "util"], + require: ["messages", "prefs", "services", "storage", "template", "util"] }, this); let tmp = {}; @@ -33,7 +33,7 @@ update(Range.prototype, { get isEternity() this.max == null && this.min == null, get isSession() this.max == null && this.min == sanitizer.sessionStart, - get native() this.isEternity ? null : [range.min || 0, range.max == null ? Number.MAX_VALUE : range.max] + get native() this.isEternity ? null : [this.min || 0, this.max == null ? Number.MAX_VALUE : this.max] }); var Item = Class("SanitizeItem", { @@ -69,10 +69,10 @@ var Sanitizer = Module("sanitizer", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakRef util.addObserver(this); - services.add("contentprefs", "@mozilla.org/content-pref/service;1", Ci.nsIContentPrefService); + services.add("contentPrefs", "@mozilla.org/content-pref/service;1", Ci.nsIContentPrefService); services.add("cookies", "@mozilla.org/cookiemanager;1", [Ci.nsICookieManager, Ci.nsICookieManager2, Ci.nsICookieService]); - services.add("loginmanager", "@mozilla.org/login-manager;1", Ci.nsILoginManager); + services.add("loginManager", "@mozilla.org/login-manager;1", Ci.nsILoginManager); services.add("permissions", "@mozilla.org/permissionmanager;1", Ci.nsIPermissionManager); this.itemMap = {}; @@ -107,11 +107,13 @@ var Sanitizer = Module("sanitizer", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakRef action: function (range, host) { if (host) services.history.removePagesFromHost(host, true); - else - services.history.removeVisitsByTimeframe(this.range.min, this.range.max); - - if (!host) + else { + if (range.isEternity) + services.history.removeAllPages(); + else + services.history.removeVisitsByTimeframe(range.native[0], Math.min(Date.now() * 1000, range.native[1])); // XXX services.observer.notifyObservers(null, "browser:purge-session-history", ""); + } if (!host || util.isDomainURL(prefs.get("general.open_location.last_url"), host)) prefs.reset("general.open_location.last_url"); @@ -138,20 +140,20 @@ var Sanitizer = Module("sanitizer", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakRef services.permissions.remove(util.createURI(p.host), p.type); services.permissions.add(util.createURI(p.host), p.type, 0); } - for (let p in iter(services.contentprefs.getPrefs(util.createURI(host)))) - services.contentprefs.removePref(util.createURI(host), p.QueryInterface(Ci.nsIProperty).name); + for (let p in iter(services.contentPrefs.getPrefs(util.createURI(host)))) + services.contentPrefs.removePref(util.createURI(host), p.QueryInterface(Ci.nsIProperty).name); } else { // "Allow this site to open popups" ... services.permissions.removeAll(); // Zoom level, ... - services.contentprefs.removeGroupedPrefs(); + services.contentPrefs.removeGroupedPrefs(); } // "Never remember passwords" ... - for each (let domain in services.loginmanager.getAllDisabledHosts()) + for each (let domain in services.loginManager.getAllDisabledHosts()) if (!host || util.isSubdomain(domain, host)) - services.loginmanager.setLoginSavingEnabled(host, true); + services.loginManager.setLoginSavingEnabled(host, true); }, override: true }); @@ -183,7 +185,7 @@ var Sanitizer = Module("sanitizer", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakRef append: { SanitizeDialogPane: - + { @@ -204,7 +206,7 @@ var Sanitizer = Module("sanitizer", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakRef function (win) prefOverlay(branch, false, { append: { itemList: <> - + { template.map(ourItems(), function ([item, desc]) = 0) - items = Object.keys(sanitizer.itemMap).filter(function (k) items.indexOf(k) === -1); - - sanitizer.range = range.native; - sanitizer.ignoreTimespan = range.min == null; - sanitizer.sanitizing = true; - if (args["-host"]) { - args["-host"].forEach(function (host) { - sanitizer.sanitizing = true; - sanitizer.sanitizeItems(items, range, host) - }); - } + modules.commandline.input(_("sanitize.prompt.deleteAll") + " ", + function (resp) { + if (resp.match(/^y(es)?$/i)) { + items = Object.keys(sanitizer.itemMap).filter(function (k) items.indexOf(k) === -1); + sanitize(items); + dactyl.echo(_("command.sanitize.allDeleted")); + } + else + dactyl.echo(_("command.sanitize.noneDeleted")); + }); else - sanitizer.sanitize(items, range); + sanitize(items); + }, { argCount: "*", // FIXME: should be + and 0 @@ -453,7 +473,7 @@ var Sanitizer = Module("sanitizer", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakRef !args["-host"].some(function (host) util.isSubdomain(item.text, host))); modules.completion.domain(context); }, - type: modules.CommandOption.LIST, + type: modules.CommandOption.LIST }, { names: ["-older", "-o"], description: "Sanitize items older than timespan", @@ -575,7 +595,7 @@ var Sanitizer = Module("sanitizer", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakRef get values() values(sanitizer.itemMap).toArray(), has: modules.Option.has.toggleAll, validator: function (values) values.length && - values.every(function (val) val === "all" || set.has(sanitizer.itemMap, val)) + values.every(function (val) val === "all" || Set.has(sanitizer.itemMap, val)) }); options.add(["sanitizeshutdown", "ss"], @@ -593,10 +613,10 @@ var Sanitizer = Module("sanitizer", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakRef sanitizer.runAtShutdown = false; else { sanitizer.runAtShutdown = true; - let have = set(value); + let have = Set(value); for (let item in values(sanitizer.itemMap)) prefs.set(item.shutdownPref, - Boolean(set.has(have, item.name) ^ set.has(have, "all"))); + Boolean(Set.has(have, item.name) ^ Set.has(have, "all"))); } return value; } @@ -667,7 +687,7 @@ var Sanitizer = Module("sanitizer", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakRef }, initialValue: true, persist: false, - validator: function (val) parseInt(val) == val || modules.Option.validateCompleter.call(this, val) + validator: function validator(val) parseInt(val) == val || validator.superapply(this, arguments) }); } });