diff options
-rw-r--r-- | clear_privacy_data.js | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/clear_privacy_data.js b/clear_privacy_data.js index d0dba59..b122df9 100644 --- a/clear_privacy_data.js +++ b/clear_privacy_data.js @@ -51,7 +51,7 @@ var PLUGIN_INFO = </VimperatorPlugin>; liberator.plugins.privacySanitizer = (function(){ -if (Application.version.substring(0, 3) != "3.1") return null; +//if (Application.version.substring(0, 3) != "3.1") return null; var privacyManager = { // {{{ cache: { @@ -129,6 +129,31 @@ var privacyManager = { // {{{ }, getPref: function() options.getPref("privacy.cpd.formdata") }, + downloads: { + clear: function(range){ + var dlMgr = Cc["@mozilla.org/download-manager;1"].getService(Ci.nsIDownloadManager); + let dlIDsRemove = []; + if (range){ + dlMgr.removeDownloadsByTimeframe(range[0], range[1]); + let dlsEnum = dlMgr.activeDownloads; + while (dlsEnum.hasMoreElements()){ + let dl = dlsEnum.next(); + if (dl.startTime >= range[0]) + dlIDsRemove.push(dl.id); + } + } else { + dlMgr.cleanUp(); + let dlsEnum = dlMgr.activeDownloads; + while (dlsEnum.hasMoreElements()){ + dlIDsRemove.push(dlsEnum.next().id) + } + } + dlIDsRemove.forEach(function(id) { + dlMgr.removeDownload(id); + }); + }, + getPref: function() options.getPref("privacy.cpd.downloads") + }, sessions: { clear: function(){ var sdr = Cc["@mozilla.org/security/sdr;1"].getService(Ci.nsISecretDecoderRing); |