diff options
author | Nik Nyby <nikolas@gnu.org> | 2015-01-17 17:12:36 -0500 |
---|---|---|
committer | Nik Nyby <nikolas@gnu.org> | 2015-01-17 17:12:36 -0500 |
commit | ada88090ead2c3b9d0804794c5f20f9b24d1c2b1 (patch) | |
tree | 2838a7eee6c5d74094216acebd86915e0ea1de42 /lib/addon_management/install_uninstall.js | |
download | librejsxul-ada88090ead2c3b9d0804794c5f20f9b24d1c2b1.tar.lz librejsxul-ada88090ead2c3b9d0804794c5f20f9b24d1c2b1.tar.xz librejsxul-ada88090ead2c3b9d0804794c5f20f9b24d1c2b1.zip |
Import to new git repository
The old repository was using almost 100mb of space because of all
the unnecessary files in the history. So I've imported the code to a
new git repository. Unfortunately the history isn't viewable from this
repository anymore. To see what happened with LibreJS before 2015, see
the old Bazaar repo here: http://bzr.savannah.gnu.org/lh/librejs/
Diffstat (limited to 'lib/addon_management/install_uninstall.js')
-rw-r--r-- | lib/addon_management/install_uninstall.js | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/lib/addon_management/install_uninstall.js b/lib/addon_management/install_uninstall.js new file mode 100644 index 0000000..8ef9cbf --- /dev/null +++ b/lib/addon_management/install_uninstall.js @@ -0,0 +1,65 @@ +/** + * GNU LibreJS - A browser add-on to block nonfree nontrivial JavaScript. + * * + * Copyright (C) 2011, 2012, 2013, 2014 Loic J. Duros + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +/** + * The following module is intended to perform tasks when the + * add-on is enabled and disabled. + */ + +const {Cc, Ci, Cu, Cm, Cr} = require("chrome"); + +const httpObserver = require("http_observer/http_request_observer"); +var narcissusWorker = require("parser/narcissus_worker") + .narcissusWorker; +const caching = require("http_observer/caching"); + +const prompt = Cc["@mozilla.org/embedcomp/prompt-service;1"]. + getService(Ci.nsIPromptService); + + +const tabs = require('sdk/tabs'); + +/** + * Stop the httpObserver when the add-on is disabled or removed. + */ +exports.onUnload = function(reason) { + if (reason == "disable" || + reason == "shutdown" || + reason == "upgrade" || + reason == "downgrade") { + require("settings/storage").librejsStorage.writeCacheToDB(); + // remove all http notifications + httpObserver.removeHttpObserver(); + // remove worker. + narcissusWorker.stopWorker(); + } + +}; + +exports.onLoad = function () { + try { + var clearCache = prompt.dialog(null, "LibreJS installation", "If you have tabs and windows opened prior to installing LibreJS, you will have to refresh them for their JavaScript to be analyzed and blocked. Press OK to clear the browser cache."); + if (clearCache) { + caching.clearAllCache(); + } + } catch (e) { + console.debug(e); + } +}; |