Bug 1398974: Part 6 - Add content script messaging to webext talos add-on. r?mixedpuppy,jmaher
MozReview-Commit-ID: Edn7BnZoHvK
--- a/testing/talos/talos/webextensions/dummy/background.js
+++ b/testing/talos/talos/webextensions/dummy/background.js
@@ -32,27 +32,36 @@ browser.webRequest.onHeadersReceived.add
["blocking", "responseHeaders"]);
browser.webRequest.onErrorOccurred.addListener(
details => {
},
{urls: ["https://*/*", "http://*/*"]});
+browser.runtime.onMessage.addListener(msg => {
+ return Promise.resolve({code: "10-4", msg});
+});
+
+
browser.tabs.onUpdated.addListener((tabId, changed, tab) => {
if (changed.url) {
browser.pageAction.show(tabId);
}
if (changed.title) {
browser.pageAction.setTitle({tabId, title: `title: ${tab.title}`});
browser.pageAction.setIcon({tabId, path: {16: "/icon.png"}});
browser.browserAction.setTitle({tabId, title: `title: ${tab.title}`});
browser.browserAction.setIcon({path: {16: "/icon.png"}});
}
+
+ browser.tabs.sendMessage(tabId, {changed, tab}).catch(() => {
+ // Ignore tabs that don't have a listener yet.
+ });
});
browser.tabs.onActivated.addListener(({tabId, windowId}) => {
browser.pageAction.show(tabId);
});
browser.tabs.onCreated.addListener(tab => {
browser.pageAction.show(tab.id);
--- a/testing/talos/talos/webextensions/dummy/content.js
+++ b/testing/talos/talos/webextensions/dummy/content.js
@@ -1,3 +1,12 @@
"use strict";
-// Empty content script
+/* eslint-env webextensions */
+
+browser.runtime.sendMessage({
+ msg: "Hello from content script",
+ url: location.href,
+});
+
+browser.runtime.onMessage.addListener(msg => {
+ return Promise.resolve({code: "10-4", msg});
+});