summaryrefslogtreecommitdiff
path: root/data/extensions/spyblock@gnu.org/bootstrap.js
diff options
context:
space:
mode:
Diffstat (limited to 'data/extensions/spyblock@gnu.org/bootstrap.js')
-rw-r--r--data/extensions/spyblock@gnu.org/bootstrap.js38
1 files changed, 22 insertions, 16 deletions
diff --git a/data/extensions/spyblock@gnu.org/bootstrap.js b/data/extensions/spyblock@gnu.org/bootstrap.js
index 29c1b77..09aa4fe 100644
--- a/data/extensions/spyblock@gnu.org/bootstrap.js
+++ b/data/extensions/spyblock@gnu.org/bootstrap.js
@@ -7,8 +7,10 @@ const Ci = Components.interfaces;
const Cr = Components.results;
const Cu = Components.utils;
-let {Services, atob, btoa, File, TextDecoder, TextEncoder} = Cu.import("resource://gre/modules/Services.jsm", null);
-let XMLHttpRequest = Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1", "nsIXMLHttpRequest");
+let {Services} = Cu.import("resource://gre/modules/Services.jsm", {});
+
+Cu.importGlobalProperties(["atob", "btoa", "File", "URL",
+ "TextDecoder", "TextEncoder", "XMLHttpRequest"]);
let addonData = null;
@@ -16,7 +18,18 @@ function startup(params, reason)
{
addonData = params;
Services.obs.addObserver(RequireObserver, "adblockplus-require", true);
- onShutdown.add(function() Services.obs.removeObserver(RequireObserver, "adblockplus-require"));
+ onShutdown.add(function()
+ {
+ Services.obs.removeObserver(RequireObserver, "adblockplus-require");
+ });
+ let port = params.webExtension.startup().then(({browser}) =>
+ {
+ return new Promise((resolve, reject) =>
+ {
+ browser.runtime.onConnect.addListener(resolve);
+ });
+ });
+ require.scopes.webextension = {exports: port};
require("main");
}
@@ -100,7 +113,7 @@ function require(module)
{
if (module == "info")
{
- let applications = {"{a23983c0-fd0e-11dc-95ff-0800200c9a66}": "fennec", "toolkit@mozilla.org": "toolkit", "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}": "firefox", "dlm@emusic.com": "emusic", "{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}": "seamonkey", "{aa3c5121-dab2-40e2-81ca-7ea25febc110}": "fennec2", "{a79fe89b-6662-4ff4-8e88-09950ad4dfde}": "conkeror", "{aa5ca914-c309-495d-91cf-3141bbb04115}": "midbrowser", "songbird@songbirdnest.com": "songbird", "prism@developer.mozilla.org": "prism", "{3550f703-e582-4d05-9a08-453d09bdfdc6}": "thunderbird"};
+ let applications = {"{a23983c0-fd0e-11dc-95ff-0800200c9a66}": "fennec", "toolkit@mozilla.org": "toolkit", "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}": "firefox", "dlm@emusic.com": "emusic", "{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}": "seamonkey", "{aa3c5121-dab2-40e2-81ca-7ea25febc110}": "fennec2", "{a79fe89b-6662-4ff4-8e88-09950ad4dfde}": "conkeror", "{aa5ca914-c309-495d-91cf-3141bbb04115}": "midbrowser", "songbird@songbirdnest.com": "songbird", "{55aba3ac-94d3-41a8-9e25-5c21fe874539}": "adblockbrowser", "prism@developer.mozilla.org": "prism", "{3550f703-e582-4d05-9a08-453d09bdfdc6}": "thunderbird"};
let appInfo = Services.appinfo;
scopes[module] = {};
@@ -120,18 +133,10 @@ function require(module)
{
let url = addonData.resourceURI.spec + "lib/" + module + ".js";
scopes[module] = {
- Cc: Cc,
- Ci: Ci,
- Cr: Cr,
- Cu: Cu,
- atob: atob,
- btoa: btoa,
- File: File,
- require: require,
-
- onShutdown: onShutdown,
+ Cc, Ci, Cr, Cu, atob, btoa, File, URL, TextDecoder, TextEncoder,
+ XMLHttpRequest, require,
- XMLHttpRequest: XMLHttpRequest,
+ onShutdown,
exports: {}};
Services.scriptloader.loadSubScript(url, scopes[module]);
@@ -139,7 +144,8 @@ function require(module)
}
return scopes[module].exports;
}
-require.scopes = {__proto__: null};
+require.scopes = Object.create(null);
+require.scopes["prefs.json"] = {exports: {"defaults": {"subscriptions_fallbackerrors": 5, "subscriptions_fallbackurl": "https://adblockplus.org/getSubscription?version=%VERSION%&url=%SUBSCRIPTION%&downloadURL=%URL%&error=%ERROR%&channelStatus=%CHANNELSTATUS%&responseStatus=%RESPONSESTATUS%", "subscriptions_autoupdate": true, "clearStatsOnHistoryPurge": true, "previewimages": true, "defaultstatusbaraction": 0, "notificationurl": "https://notification.adblockplus.org/notification.json", "notifications_showui": false, "report_submiturl": "https://reports.adblockplus.org/submitReport?version=1&guid=%GUID%&lang=%LANG%", "showinstatusbar": false, "patternsbackupinterval": 24, "sendReport_key": "", "enable_key": "", "currentVersion": "0.0", "detachsidebar": false, "blockableItemsSize": {"width": 200, "height": 200}, "savestats": false, "sidebar_key": "Accel Shift V, Accel Shift U", "notifications_ignoredcategories": [], "filters_key": "Accel Shift E, Accel Shift F, Accel Shift O", "frameobjects": true, "whitelistschemes": "about chrome file irc moz-extension moz-safe-about news resource snews x-jsd addbook cid imap mailbox nntp pop data javascript moz-icon", "fastcollapse": false, "subscriptions_exceptionsurl": "https://easylist-downloads.adblockplus.org/exceptionrules.txt", "subscriptions_antiadblockurl": "https://easylist-downloads.adblockplus.org/antiadblockfilters.txt", "hideContributeButton": false, "flash_scrolltoitem": true, "subscriptions_exceptionscheckbox": true, "recentReports": [], "suppress_first_run_page": false, "enabled": true, "notificationdata": {}, "subscriptions_listurl": "https://adblockplus.org/subscriptions2.xml", "patternsbackups": 5, "composer_default": 2, "documentation_link": "https://adblockplus.org/redirect?link=%LINK%&lang=%LANG%", "defaulttoolbaraction": 0}, "preconfigurable": ["suppress_first_run_page"]}};
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
let RequireObserver =