mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 19:55:39 +00:00
587f846f5f
MozReview-Commit-ID: AErBFGJyFg5 --HG-- extra : rebase_source : 0718ae27322c60a1ef8b67464dbca7d705f23628
100 lines
2.8 KiB
JavaScript
100 lines
2.8 KiB
JavaScript
"use strict";
|
|
|
|
Cu.import("resource://gre/modules/ExtensionCommon.jsm");
|
|
|
|
XPCOMUtils.defineLazyModuleGetter(this, "Services",
|
|
"resource://gre/modules/Services.jsm");
|
|
XPCOMUtils.defineLazyModuleGetter(this, "DevToolsShim",
|
|
"chrome://devtools-shim/content/DevToolsShim.jsm");
|
|
|
|
// These are defined on "global" which is used for the same scopes as the other
|
|
// ext-c-*.js files.
|
|
/* exported EventManager */
|
|
/* global EventManager: false */
|
|
|
|
global.EventManager = ExtensionCommon.EventManager;
|
|
|
|
global.initializeBackgroundPage = (contentWindow) => {
|
|
// Override the `alert()` method inside background windows;
|
|
// we alias it to console.log().
|
|
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=1203394
|
|
let alertDisplayedWarning = false;
|
|
let alertOverwrite = text => {
|
|
if (!alertDisplayedWarning) {
|
|
DevToolsShim.openBrowserConsole();
|
|
contentWindow.console.warn("alert() is not supported in background windows; please use console.log instead.");
|
|
|
|
alertDisplayedWarning = true;
|
|
}
|
|
|
|
contentWindow.console.log(text);
|
|
};
|
|
Cu.exportFunction(alertOverwrite, contentWindow, {defineAs: "alert"});
|
|
};
|
|
|
|
extensions.registerModules({
|
|
backgroundPage: {
|
|
url: "chrome://extensions/content/ext-c-backgroundPage.js",
|
|
scopes: ["addon_child"],
|
|
manifest: ["background"],
|
|
paths: [
|
|
["extension", "getBackgroundPage"],
|
|
["runtime", "getBackgroundPage"],
|
|
],
|
|
},
|
|
extension: {
|
|
url: "chrome://extensions/content/ext-c-extension.js",
|
|
scopes: ["addon_child", "content_child", "devtools_child", "proxy_script"],
|
|
paths: [
|
|
["extension"],
|
|
],
|
|
},
|
|
i18n: {
|
|
url: "chrome://extensions/content/ext-i18n.js",
|
|
scopes: ["addon_child", "content_child", "devtools_child", "proxy_script"],
|
|
paths: [
|
|
["i18n"],
|
|
],
|
|
},
|
|
runtime: {
|
|
url: "chrome://extensions/content/ext-c-runtime.js",
|
|
scopes: ["addon_child", "content_child", "devtools_child", "proxy_script"],
|
|
paths: [
|
|
["runtime"],
|
|
],
|
|
},
|
|
storage: {
|
|
url: "chrome://extensions/content/ext-c-storage.js",
|
|
scopes: ["addon_child", "content_child", "devtools_child", "proxy_script"],
|
|
paths: [
|
|
["storage"],
|
|
],
|
|
},
|
|
test: {
|
|
url: "chrome://extensions/content/ext-c-test.js",
|
|
scopes: ["addon_child", "content_child", "devtools_child", "proxy_script"],
|
|
paths: [
|
|
["test"],
|
|
],
|
|
},
|
|
webRequest: {
|
|
url: "chrome://extensions/content/ext-c-webRequest.js",
|
|
scopes: ["addon_child"],
|
|
paths: [
|
|
["webRequest"],
|
|
],
|
|
},
|
|
});
|
|
|
|
if (AppConstants.MOZ_BUILD_APP === "browser") {
|
|
extensions.registerModules({
|
|
identity: {
|
|
url: "chrome://extensions/content/ext-c-identity.js",
|
|
scopes: ["addon_child"],
|
|
paths: [
|
|
["identity"],
|
|
],
|
|
},
|
|
});
|
|
}
|