summaryrefslogtreecommitdiffstats
path: root/toolkit/components/webextensions/ext-c-runtime.js
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-03-06 12:30:20 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-03-06 12:30:20 +0100
commite25ad543952b5afc13181aaebef9c5951fc27be0 (patch)
tree456a1359b3e5f810319edd423dd5cc5a1e22ada5 /toolkit/components/webextensions/ext-c-runtime.js
parent74533a843277c3687c749989ed1522354d1054d2 (diff)
parent5dba1ebe8498286762873fff0016f35f3e14d2d5 (diff)
downloadUXP-e41749ff8b3b148b854a346ce2c6e6526caa1754.tar
UXP-e41749ff8b3b148b854a346ce2c6e6526caa1754.tar.gz
UXP-e41749ff8b3b148b854a346ce2c6e6526caa1754.tar.lz
UXP-e41749ff8b3b148b854a346ce2c6e6526caa1754.tar.xz
UXP-e41749ff8b3b148b854a346ce2c6e6526caa1754.zip
Merge branch 'master' into Basilisk-releasev2019.03.08
Diffstat (limited to 'toolkit/components/webextensions/ext-c-runtime.js')
-rw-r--r--toolkit/components/webextensions/ext-c-runtime.js96
1 files changed, 0 insertions, 96 deletions
diff --git a/toolkit/components/webextensions/ext-c-runtime.js b/toolkit/components/webextensions/ext-c-runtime.js
deleted file mode 100644
index 1dcac35da..000000000
--- a/toolkit/components/webextensions/ext-c-runtime.js
+++ /dev/null
@@ -1,96 +0,0 @@
-"use strict";
-
-function runtimeApiFactory(context) {
- let {extension} = context;
-
- return {
- runtime: {
- onConnect: context.messenger.onConnect("runtime.onConnect"),
-
- onMessage: context.messenger.onMessage("runtime.onMessage"),
-
- onConnectExternal: context.messenger.onConnectExternal("runtime.onConnectExternal"),
-
- onMessageExternal: context.messenger.onMessageExternal("runtime.onMessageExternal"),
-
- connect: function(extensionId, connectInfo) {
- let name = connectInfo !== null && connectInfo.name || "";
- extensionId = extensionId || extension.id;
- let recipient = {extensionId};
-
- return context.messenger.connect(context.messageManager, name, recipient);
- },
-
- sendMessage: function(...args) {
- let options; // eslint-disable-line no-unused-vars
- let extensionId, message, responseCallback;
- if (typeof args[args.length - 1] == "function") {
- responseCallback = args.pop();
- }
- if (!args.length) {
- return Promise.reject({message: "runtime.sendMessage's message argument is missing"});
- } else if (args.length == 1) {
- message = args[0];
- } else if (args.length == 2) {
- if (typeof args[0] == "string" && args[0]) {
- [extensionId, message] = args;
- } else {
- [message, options] = args;
- }
- } else if (args.length == 3) {
- [extensionId, message, options] = args;
- } else if (args.length == 4 && !responseCallback) {
- return Promise.reject({message: "runtime.sendMessage's last argument is not a function"});
- } else {
- return Promise.reject({message: "runtime.sendMessage received too many arguments"});
- }
-
- if (extensionId != null && typeof extensionId != "string") {
- return Promise.reject({message: "runtime.sendMessage's extensionId argument is invalid"});
- }
- if (options != null && typeof options != "object") {
- return Promise.reject({message: "runtime.sendMessage's options argument is invalid"});
- }
-
- extensionId = extensionId || extension.id;
- let recipient = {extensionId};
-
- return context.messenger.sendMessage(context.messageManager, message, recipient, responseCallback);
- },
-
- connectNative(application) {
- let recipient = {
- childId: context.childManager.id,
- toNativeApp: application,
- };
-
- return context.messenger.connectNative(context.messageManager, "", recipient);
- },
-
- sendNativeMessage(application, message) {
- let recipient = {
- childId: context.childManager.id,
- toNativeApp: application,
- };
- return context.messenger.sendNativeMessage(context.messageManager, message, recipient);
- },
-
- get lastError() {
- return context.lastError;
- },
-
- getManifest() {
- return Cu.cloneInto(extension.manifest, context.cloneScope);
- },
-
- id: extension.id,
-
- getURL: function(url) {
- return extension.baseURI.resolve(url);
- },
- },
- };
-}
-
-extensions.registerSchemaAPI("runtime", "addon_child", runtimeApiFactory);
-extensions.registerSchemaAPI("runtime", "content_child", runtimeApiFactory);