fune/browser/components/extensions/child/ext-tabs.js
Tomislav Jovanovic f96f3422db Bug 1316748 - Move Port messaging off MessageChannel r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D67302

--HG--
extra : moz-landing-system : lando
2020-03-21 00:02:20 +00:00

36 lines
1.1 KiB
JavaScript

/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set sts=2 sw=2 et tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
this.tabs = class extends ExtensionAPI {
getAPI(context) {
return {
tabs: {
connect(tabId, options) {
let { frameId = null, name = "" } = options || {};
return context.messenger.nm.connect({ name, tabId, frameId });
},
sendMessage: function(tabId, message, options, responseCallback) {
let recipient = {
extensionId: context.extension.id,
tabId: tabId,
};
if (options && options.frameId !== null) {
recipient.frameId = options.frameId;
}
return context.messenger.sendMessage(
context.messageManager,
message,
recipient,
responseCallback
);
},
},
};
}
};