diff --git a/ext/src/background/background.ts b/ext/src/background/background.ts index 85fff75..a3e4b8e 100755 --- a/ext/src/background/background.ts +++ b/ext/src/background/background.ts @@ -44,6 +44,8 @@ browser.runtime.onInstalled.addListener(async details => { function initBrowserAction () { + console.info("fx_cast (Debug): init (browser action)"); + /*browser.browserAction.disable(); function onServiceChange () { @@ -504,6 +506,46 @@ function initWhitelist () { } +async function initMediaOverlay () { + console.info("fx_cast (Debug): init (media overlay)"); + + let contentScript: browser.contentScripts.RegisteredContentScript; + + async function registerMediaOverlayContentScript () { + if (!(await options.get("mediaOverlayEnabled"))) { + return; + } + + try { + contentScript = await browser.contentScripts.register({ + allFrames: true + , js: [{ file: "senders/media/overlay/overlayContentLoader.js" }] + , matches: [ "" ] + , runAt: "document_start" + }); + } catch (err) { + console.error("fx_cast (Debug): Failed to register media overlay"); + } + } + + async function unregisterMediaOverlayContentScript () { + contentScript?.unregister(); + } + + + registerMediaOverlayContentScript(); + + options.addEventListener("changed", ev => { + const alteredOpts = ev.detail; + + if (alteredOpts.includes("mediaOverlayEnabled")) { + unregisterMediaOverlayContentScript(); + registerMediaOverlayContentScript(); + } + }) +} + + let isInitialized = false; async function init () { @@ -528,6 +570,7 @@ async function init () { await initMenus(); await initRequestListener(); await initWhitelist(); + await initMediaOverlay(); await StatusManager.init(); await ShimManager.init(); diff --git a/ext/src/manifest.json b/ext/src/manifest.json index ddc1925..7e3a74b 100755 --- a/ext/src/manifest.json +++ b/ext/src/manifest.json @@ -32,7 +32,6 @@ "all_frames": true , "js": [ "shim/content.js" - //, "senders/media/overlay/overlayContentLoader.js" ] , "matches": [ "" ] , "run_at": "document_start" diff --git a/ext/src/senders/media/overlay/overlayContentLoader.ts b/ext/src/senders/media/overlay/overlayContentLoader.ts index 3c6cde9..eefb0bc 100644 --- a/ext/src/senders/media/overlay/overlayContentLoader.ts +++ b/ext/src/senders/media/overlay/overlayContentLoader.ts @@ -9,6 +9,7 @@ const _ = browser.i18n.getMessage; const req = new XMLHttpRequest(); req.open("GET", browser.runtime.getURL( "senders/media/overlay/overlayContent.js"), false); + req.send(); if (req.status === 200) {