diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-03-06 12:30:20 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-03-06 12:30:20 +0100 |
commit | e25ad543952b5afc13181aaebef9c5951fc27be0 (patch) | |
tree | 456a1359b3e5f810319edd423dd5cc5a1e22ada5 /toolkit/components/webextensions/ext-c-runtime.js | |
parent | 74533a843277c3687c749989ed1522354d1054d2 (diff) | |
parent | 5dba1ebe8498286762873fff0016f35f3e14d2d5 (diff) | |
download | UXP-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.js | 96 |
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); |