gecko-dev/toolkit/components/extensions/child/ext-extension.js
Kris Maglione 37cb72e227 Bug 1372406: Stop misusing import-globals-from in extension API scripts. r=aswan
MozReview-Commit-ID: FTkcmuguOwq

--HG--
rename : browser/components/extensions/ext-c-browser.js => browser/components/extensions/child/ext-browser.js
rename : browser/components/extensions/ext-c-devtools-inspectedWindow.js => browser/components/extensions/child/ext-devtools-inspectedWindow.js
rename : browser/components/extensions/ext-c-devtools-network.js => browser/components/extensions/child/ext-devtools-network.js
rename : browser/components/extensions/ext-c-devtools-panels.js => browser/components/extensions/child/ext-devtools-panels.js
rename : browser/components/extensions/ext-c-devtools.js => browser/components/extensions/child/ext-devtools.js
rename : browser/components/extensions/ext-c-menus.js => browser/components/extensions/child/ext-menus.js
rename : browser/components/extensions/ext-c-omnibox.js => browser/components/extensions/child/ext-omnibox.js
rename : browser/components/extensions/ext-c-tabs.js => browser/components/extensions/child/ext-tabs.js
rename : browser/components/extensions/ext-bookmarks.js => browser/components/extensions/parent/ext-bookmarks.js
rename : browser/components/extensions/ext-browser.js => browser/components/extensions/parent/ext-browser.js
rename : browser/components/extensions/ext-browserAction.js => browser/components/extensions/parent/ext-browserAction.js
rename : browser/components/extensions/ext-browsingData.js => browser/components/extensions/parent/ext-browsingData.js
rename : browser/components/extensions/ext-chrome-settings-overrides.js => browser/components/extensions/parent/ext-chrome-settings-overrides.js
rename : browser/components/extensions/ext-commands.js => browser/components/extensions/parent/ext-commands.js
rename : browser/components/extensions/ext-devtools-inspectedWindow.js => browser/components/extensions/parent/ext-devtools-inspectedWindow.js
rename : browser/components/extensions/ext-devtools-network.js => browser/components/extensions/parent/ext-devtools-network.js
rename : browser/components/extensions/ext-devtools-panels.js => browser/components/extensions/parent/ext-devtools-panels.js
rename : browser/components/extensions/ext-devtools.js => browser/components/extensions/parent/ext-devtools.js
rename : browser/components/extensions/ext-find.js => browser/components/extensions/parent/ext-find.js
rename : browser/components/extensions/ext-geckoProfiler.js => browser/components/extensions/parent/ext-geckoProfiler.js
rename : browser/components/extensions/ext-history.js => browser/components/extensions/parent/ext-history.js
rename : browser/components/extensions/ext-menus.js => browser/components/extensions/parent/ext-menus.js
rename : browser/components/extensions/ext-omnibox.js => browser/components/extensions/parent/ext-omnibox.js
rename : browser/components/extensions/ext-pageAction.js => browser/components/extensions/parent/ext-pageAction.js
rename : browser/components/extensions/ext-pkcs11.js => browser/components/extensions/parent/ext-pkcs11.js
rename : browser/components/extensions/ext-sessions.js => browser/components/extensions/parent/ext-sessions.js
rename : browser/components/extensions/ext-sidebarAction.js => browser/components/extensions/parent/ext-sidebarAction.js
rename : browser/components/extensions/ext-tabs.js => browser/components/extensions/parent/ext-tabs.js
rename : browser/components/extensions/ext-url-overrides.js => browser/components/extensions/parent/ext-url-overrides.js
rename : browser/components/extensions/ext-windows.js => browser/components/extensions/parent/ext-windows.js
rename : toolkit/components/extensions/ext-c-backgroundPage.js => toolkit/components/extensions/child/ext-backgroundPage.js
rename : toolkit/components/extensions/ext-c-contentScripts.js => toolkit/components/extensions/child/ext-contentScripts.js
rename : toolkit/components/extensions/ext-c-extension.js => toolkit/components/extensions/child/ext-extension.js
rename : toolkit/components/extensions/ext-c-identity.js => toolkit/components/extensions/child/ext-identity.js
rename : toolkit/components/extensions/ext-c-runtime.js => toolkit/components/extensions/child/ext-runtime.js
rename : toolkit/components/extensions/ext-c-storage.js => toolkit/components/extensions/child/ext-storage.js
rename : toolkit/components/extensions/ext-c-test.js => toolkit/components/extensions/child/ext-test.js
rename : toolkit/components/extensions/ext-c-toolkit.js => toolkit/components/extensions/child/ext-toolkit.js
rename : toolkit/components/extensions/ext-c-webRequest.js => toolkit/components/extensions/child/ext-webRequest.js
rename : toolkit/components/extensions/ext-alarms.js => toolkit/components/extensions/parent/ext-alarms.js
rename : toolkit/components/extensions/ext-backgroundPage.js => toolkit/components/extensions/parent/ext-backgroundPage.js
rename : toolkit/components/extensions/ext-browserSettings.js => toolkit/components/extensions/parent/ext-browserSettings.js
rename : toolkit/components/extensions/ext-clipboard.js => toolkit/components/extensions/parent/ext-clipboard.js
rename : toolkit/components/extensions/ext-contentScripts.js => toolkit/components/extensions/parent/ext-contentScripts.js
rename : toolkit/components/extensions/ext-contextualIdentities.js => toolkit/components/extensions/parent/ext-contextualIdentities.js
rename : toolkit/components/extensions/ext-cookies.js => toolkit/components/extensions/parent/ext-cookies.js
rename : toolkit/components/extensions/ext-dns.js => toolkit/components/extensions/parent/ext-dns.js
rename : toolkit/components/extensions/ext-downloads.js => toolkit/components/extensions/parent/ext-downloads.js
rename : toolkit/components/extensions/ext-extension.js => toolkit/components/extensions/parent/ext-extension.js
rename : toolkit/components/extensions/ext-i18n.js => toolkit/components/extensions/parent/ext-i18n.js
rename : toolkit/components/extensions/ext-identity.js => toolkit/components/extensions/parent/ext-identity.js
rename : toolkit/components/extensions/ext-idle.js => toolkit/components/extensions/parent/ext-idle.js
rename : toolkit/components/extensions/ext-management.js => toolkit/components/extensions/parent/ext-management.js
rename : toolkit/components/extensions/ext-notifications.js => toolkit/components/extensions/parent/ext-notifications.js
rename : toolkit/components/extensions/ext-permissions.js => toolkit/components/extensions/parent/ext-permissions.js
rename : toolkit/components/extensions/ext-privacy.js => toolkit/components/extensions/parent/ext-privacy.js
rename : toolkit/components/extensions/ext-protocolHandlers.js => toolkit/components/extensions/parent/ext-protocolHandlers.js
rename : toolkit/components/extensions/ext-proxy.js => toolkit/components/extensions/parent/ext-proxy.js
rename : toolkit/components/extensions/ext-runtime.js => toolkit/components/extensions/parent/ext-runtime.js
rename : toolkit/components/extensions/ext-storage.js => toolkit/components/extensions/parent/ext-storage.js
rename : toolkit/components/extensions/ext-tabs-base.js => toolkit/components/extensions/parent/ext-tabs-base.js
rename : toolkit/components/extensions/ext-theme.js => toolkit/components/extensions/parent/ext-theme.js
rename : toolkit/components/extensions/ext-toolkit.js => toolkit/components/extensions/parent/ext-toolkit.js
rename : toolkit/components/extensions/ext-topSites.js => toolkit/components/extensions/parent/ext-topSites.js
rename : toolkit/components/extensions/ext-webNavigation.js => toolkit/components/extensions/parent/ext-webNavigation.js
rename : toolkit/components/extensions/ext-webRequest.js => toolkit/components/extensions/parent/ext-webRequest.js
extra : source : 6af40fb76692ad647645194c7458c1be228378aa
2018-03-25 21:20:17 -07:00

54 lines
1.2 KiB
JavaScript

"use strict";
this.extension = class extends ExtensionAPI {
getAPI(context) {
let api = {
getURL(url) {
return context.extension.baseURI.resolve(url);
},
get lastError() {
return context.lastError;
},
get inIncognitoContext() {
return context.incognito;
},
};
if (context.envType === "addon_child") {
api.getViews = function(fetchProperties) {
let result = Cu.cloneInto([], context.cloneScope);
for (let view of context.extension.views) {
if (!view.active) {
continue;
}
if (!context.principal.subsumes(view.principal)) {
continue;
}
if (fetchProperties !== null) {
if (fetchProperties.type !== null && view.viewType != fetchProperties.type) {
continue;
}
if (fetchProperties.windowId !== null && view.windowId != fetchProperties.windowId) {
continue;
}
if (fetchProperties.tabId !== null && view.tabId != fetchProperties.tabId) {
continue;
}
}
result.push(view.contentWindow);
}
return result;
};
}
return {extension: api};
}
};