summaryrefslogtreecommitdiff
path: root/data/extensions/jid1-KtlZuoiikVfFew@jetpack/resources/librejs/lib/settings
diff options
context:
space:
mode:
authorRuben Rodriguez <ruben@gnu.org>2015-01-28 22:16:14 +0100
committerRuben Rodriguez <ruben@gnu.org>2015-01-28 22:16:14 +0100
commit16f2defa530b36cae7da5e28b5eafef9138adba5 (patch)
treec1415ef31bf1e96da1674aec2fc2c580c87d9e08 /data/extensions/jid1-KtlZuoiikVfFew@jetpack/resources/librejs/lib/settings
parent763c090c20c60c13f9b6f50b953323a237fd778a (diff)
Updated to v31.4.0ESR
* Search form in about:icecat now searches in default search engine * Disabled accessibility.blockautorefresh * Replaced references to Open Source with Free Software where applicable * Added html5-video-everywhere v0.1.1 extension: https://github.com/lejenome/html5-video-everywhere * Updated LibreJS to 6.0.8 Build scripts updated to use pbuilder
Diffstat (limited to 'data/extensions/jid1-KtlZuoiikVfFew@jetpack/resources/librejs/lib/settings')
-rw-r--r--data/extensions/jid1-KtlZuoiikVfFew@jetpack/resources/librejs/lib/settings/settings_tab.js106
-rw-r--r--data/extensions/jid1-KtlZuoiikVfFew@jetpack/resources/librejs/lib/settings/storage.js257
2 files changed, 186 insertions, 177 deletions
diff --git a/data/extensions/jid1-KtlZuoiikVfFew@jetpack/resources/librejs/lib/settings/settings_tab.js b/data/extensions/jid1-KtlZuoiikVfFew@jetpack/resources/librejs/lib/settings/settings_tab.js
index c99deb5..976714a 100644
--- a/data/extensions/jid1-KtlZuoiikVfFew@jetpack/resources/librejs/lib/settings/settings_tab.js
+++ b/data/extensions/jid1-KtlZuoiikVfFew@jetpack/resources/librejs/lib/settings/settings_tab.js
@@ -2,83 +2,79 @@
* GNU LibreJS - A browser add-on to block nonfree nontrivial JavaScript.
* *
* Copyright (C) 2011, 2012, 2013, 2014 Loic J. Duros
+ * Copyright (C) 2014, 2015 Nik Nyby
*
- * This program is free software: you can redistribute it and/or modify
+ * This file is part of GNU LibreJS.
+ *
+ * GNU LibreJS 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,
+ * GNU LibreJS 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/>.
- *
+ * along with GNU LibreJS. If not, see <http://www.gnu.org/licenses/>.
*/
-const addonTab = require("addon-tab");
+const tabs = require("sdk/tabs");
const data = require("sdk/self").data;
const storage = require("settings/storage").librejsStorage;
const scriptsCached = require("script_entries/scripts_cache").scriptsCached;
exports.settingsManager = settingsManager;
-
-
let settingsManager = {
- settings_tab: {
- url: data.url("settings/index.html"),
- tabStyle: {
- 'background-color': '#898168',
- 'background-image': 'none', // important to overwrite bckg when tab is active.
- 'font-weight': 'normal',
- 'font-size': '1.1em',
- 'color': '#444'
- },
- onReady: function (tab) {
- console.debug("populating form");
- var that = this;
- let cache_data = scriptsCached.getCacheForWriting();
- let worker = tab.attach({contentScriptFile: [data.url('settings/js/pagescript-listener.js'),
- data.url('settings/js/pagescript-emitter.js')]});
- worker.port.emit("populate-form", cache_data);
- worker.port.on("rules-form-delete", function (hash) {
- try {
- scriptsCached.removeEntryByHash(hash);
- } catch (e) {
- console.log(e, e.lineNumber, e.filename);
+ settingsTab: {
+ url: data.url("settings/index.html"),
+ onReady: function (tab) {
+ console.debug("populating form");
+ var that = this;
+ let cache_data = scriptsCached.getCacheForWriting();
+ let worker = tab.attach({
+ contentScriptFile: [
+ data.url('settings/js/pagescript-listener.js'),
+ data.url('settings/js/pagescript-emitter.js')
+ ]
+ });
+ worker.port.emit("populate-form", cache_data);
+ worker.port.on("rules-form-delete", function (hash) {
+ try {
+ scriptsCached.removeEntryByHash(hash);
+ } catch (e) {
+ console.log('caught!', e, e.lineNumber, e.filename);
+ }
+ //worker.port.emit("populate-form", scriptsCached.getCacheForWriting());
+ });
+ worker.port.on("rules-form-delete-all", function () {
+ scriptsCached.resetCache();
+ });
+ },
+ onActivate: function (tab) {
+ // just reload the form.
+ console.debug("Tab is activated again");
+ var that = this;
+ let cache_data = scriptsCached.getCacheForWriting();
+ let worker = tab.attach({
+ contentScriptFile: [
+ data.url('settings/js/pagescript-listener.js'),
+ data.url('settings/js/pagescript-emitter.js')
+ ]
+ });
+ worker.port.emit("populate-form", cache_data);
}
- //worker.port.emit("populate-form", scriptsCached.getCacheForWriting());
- });
- worker.port.on("rules-form-delete-all", function () {
- console.log("delete all triggered.");
- scriptsCached.resetCache();
- });
},
- onActivate: function (tab) {
- // just reload the form.
- console.log("Tab is activated again");
- var that = this;
- let cache_data = scriptsCached.getCacheForWriting();
- let worker = tab.attach({contentScriptFile: [data.url('settings/js/pagescript-listener.js'),
- data.url('settings/js/pagescript-emitter.js')]});
- worker.port.emit("populate-form", cache_data);
+
+ init: function () {
+ settings.onLoad(function (data) {});
+ },
+ open: function () {
+ console.debug("settings tab data url is", this.settingsTab.url);
+ tabs.open(this.settingsTab);
}
- },
-
-
- init: function () {
- // do some first time magic.
- settings.onLoad(function (data) {
-
- });
- },
- open: function () {
- console.debug("settings tab data url is", this.settings_tab.url);
- addonTab.open(this.settings_tab);
- }
};
exports.settingsManager = settingsManager;
diff --git a/data/extensions/jid1-KtlZuoiikVfFew@jetpack/resources/librejs/lib/settings/storage.js b/data/extensions/jid1-KtlZuoiikVfFew@jetpack/resources/librejs/lib/settings/storage.js
index f77bd13..bc9fe77 100644
--- a/data/extensions/jid1-KtlZuoiikVfFew@jetpack/resources/librejs/lib/settings/storage.js
+++ b/data/extensions/jid1-KtlZuoiikVfFew@jetpack/resources/librejs/lib/settings/storage.js
@@ -2,20 +2,22 @@
* GNU LibreJS - A browser add-on to block nonfree nontrivial JavaScript.
* *
* Copyright (C) 2011, 2012, 2013, 2014 Loic J. Duros
+ * Copyright (C) 2014, 2015 Nik Nyby
*
- * This program is free software: you can redistribute it and/or modify
+ * This file is part of GNU LibreJS.
+ *
+ * GNU LibreJS 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,
+ * GNU LibreJS 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/>.
- *
+ * along with GNU LibreJS. If not, see <http://www.gnu.org/licenses/>.
*/
/*jshint esnext: true */
@@ -32,133 +34,144 @@ const scriptsCached = require("script_entries/scripts_cache").scriptsCached;
let librejsStorage = {
- file: null,
- filename: 'librejs-whitelist.json',
- data: [],
+ file: null,
+ filename: 'librejs-whitelist.json',
+ data: [],
- onLoad: function (callback) {
- // will read the json file.
- this.init();
- this.read(callback);
- },
-
+ onLoad: function (callback) {
+ // will read the json file.
+ this.init();
+ this.read(callback);
+ },
- init: function () {
- // get the "librejs-whitelist.json" file in the profile directory
- this.file = FileUtils.getFile("ProfD", [this.filename]);
- },
- read: function (callback) {
- // Content type hint is useful on mobile platforms where the filesystem
- // would otherwise try to determine the content type.
- var channel = NetUtil.newChannel(this.file);
- var that = this;
- channel.contentType = "application/json";
- try {
- NetUtil.asyncFetch(channel, function(inputStream, status) {
+ init: function () {
+ // get the "librejs-whitelist.json" file in the profile directory
+ this.file = FileUtils.getFile("ProfD", [this.filename]);
+ },
- if (!components.isSuccessCode(status)) {
- require("script_entries/free_libraries").init();
- that.initialWrite();
+ read: function (callback) {
+ // Content type hint is useful on mobile platforms where the filesystem
+ // would otherwise try to determine the content type.
+ var channel = NetUtil.newChannel(this.file);
+ var that = this;
+ channel.contentType = "application/json";
+ try {
+ NetUtil.asyncFetch(channel, function(inputStream, status) {
+
+ if (!components.isSuccessCode(status)) {
+ require("script_entries/free_libraries").init();
+ that.initialWrite();
+ }
+
+ var raw_data = NetUtil.readInputStreamToString(
+ inputStream, inputStream.available());
+ // expand json file back to original contents.
+ var re = new RegExp(
+ "[freelib]".replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'),
+ 'g'
+ );
+ raw_data = raw_data.replace(re, AUTHOR_REASON);
+ //console.debug("raw_data is ", raw_data);
+ // The file data is contained within inputStream.
+ // You can read it into a string with
+ // get string into json also
+ that.data = JSON.parse(raw_data);
+
+ callback(that.data);
+ });
+ } catch (e) {
+ that.initialWrite();
}
-
- var raw_data = NetUtil.readInputStreamToString(inputStream, inputStream.available());
- // expand json file back to original contents.
- var re = new RegExp("[freelib]".replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'g');
- raw_data = raw_data.replace(re, AUTHOR_REASON);
- console.debug("raw_data is ", raw_data);
- // The file data is contained within inputStream.
- // You can read it into a string with
- // get string into json also
- that.data = JSON.parse(raw_data);
-
- callback(that.data);
- });
- } catch (e) {
- that.initialWrite();
- }
- },
+ },
- initialWrite: function (callback) {
- console.debug("About to write free libraries");
- // our file is not populated with default contents.
- // use free_libraries.js to populate.
- require("script_entries/free_libraries").init();
- this.writeCacheToDB(callback);
- },
- /**
- * writes the contents of scriptsCached to the persistent
- * JSON file.
- */
- writeCacheToDB: function (callback) {
- console.debug("writing to db");
- data = scriptsCached.getCacheForWriting();
- json = JSON.stringify(data);
+ initialWrite: function (callback) {
+ console.debug("About to write free libraries");
+ // our file is not populated with default contents.
+ // use free_libraries.js to populate.
+ require("script_entries/free_libraries").init();
+ this.writeCacheToDB(callback);
+ },
- // make json file smaller.
- var re = new RegExp(AUTHOR_REASON.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'g');
- json = json.replace(re, "[freelib]");
-
- var rc = JSON.stringify(relationChecker());
- re = new RegExp(rc.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'g');
- json = json.replace(re, "\"[rl]\"");
- console.debug("this.data is now", this.data);
- this.write(callback, json);
- },
- generateCacheFromDB: function (callback) {
- if (callback === undefined) {
- callback = function () {
- // nothing to do.
- };
- }
- this.read(function (data) {
- scriptsCached.bulkImportCache(data);
- });
- },
- write: function (onDataWritten, json) {
+ /**
+ * writes the contents of scriptsCached to the persistent
+ * JSON file.
+ */
+ writeCacheToDB: function (callback) {
+ console.debug("writing to db");
+ data = scriptsCached.getCacheForWriting();
+ json = JSON.stringify(data);
- this.init();
- var str;
- if (json === undefined) {
- str = JSON.stringify(this.data);
- } else {
- // we are passing json already formatted.
- str = json;
- }
- var ostream = FileUtils.openSafeFileOutputStream(this.file);
- var converter = Cc["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Ci.nsIScriptableUnicodeConverter);
- converter.charset = "UTF-8";
- var istream = converter.convertToInputStream(str);
- // The last argument (the callback) is optional.
- NetUtil.asyncCopy(istream, ostream, function(status) {
- if (!components.isSuccessCode(status)) {
- // Handle error!
- return;
- }
- if (!onDataWritten) {
- console.debug("onDataWritten is not defined");
- onDataWritten = function () {
- console.debug("onDataWritten dummy callback triggered");
- };
- }
- // Data has been written to the file.
- onDataWritten();
- });
- },
+ // make json file smaller.
+ var re = new RegExp(
+ AUTHOR_REASON.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'g');
+ json = json.replace(re, "[freelib]");
+
+ var rc = JSON.stringify(relationChecker());
+ re = new RegExp(rc.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'g');
+ json = json.replace(re, "\"[rl]\"");
+ //console.debug("this.data is now", this.data);
+ this.write(callback, json);
+ },
+ generateCacheFromDB: function (callback) {
+ if (typeof callback === 'undefined') {
+ callback = function () {
+ // nothing to do.
+ };
+ }
+ this.read(function (data) {
+ scriptsCached.bulkImportCache(data);
+ });
+ },
+ write: function (onDataWritten, json) {
- /**
- * getEntry -- Returns a storage entry if it is present.
- */
- getEntry: function (hash) {
- var entry = this.data[hash];
- if (entry) {
- if (entry.result == "[freelib]") {
- entry.result = { "type": 4, "reason": "this script has been tagged as free software by LibreJS authors" };
- }
- entry.relationChecker = rc;
- return entry;
+ this.init();
+ var str;
+ if (typeof json === 'undefined') {
+ str = JSON.stringify(this.data);
+ } else {
+ // we are passing json already formatted.
+ str = json;
+ }
+ var ostream = FileUtils.openSafeFileOutputStream(this.file);
+ var converter = Cc["@mozilla.org/intl/scriptableunicodeconverter"]
+ .createInstance(Ci.nsIScriptableUnicodeConverter);
+ converter.charset = "UTF-8";
+ var istream = converter.convertToInputStream(str);
+ // The last argument (the callback) is optional.
+ NetUtil.asyncCopy(istream, ostream, function(status) {
+ if (!components.isSuccessCode(status)) {
+ // Handle error!
+ return;
+ }
+ if (!onDataWritten) {
+ console.debug("onDataWritten is not defined");
+ onDataWritten = function () {
+ console.debug("onDataWritten dummy callback triggered");
+ };
+ }
+ // Data has been written to the file.
+ onDataWritten();
+ });
+ },
+
+ /**
+ * getEntry -- Returns a storage entry if it is present.
+ */
+ getEntry: function (hash) {
+ var entry = this.data[hash];
+ if (entry) {
+ if (entry.result === '[freelib]') {
+ entry.result = {
+ 'type': 4,
+ 'reason': 'This script has been tagged as free ' +
+ 'software by LibreJS authors.'
+ };
+ }
+ entry.relationChecker = rc;
+ return entry;
+ }
+ return false;
}
- return false;
- }
};
exports.librejsStorage = librejsStorage;