diff --git a/IMPLEMENTATION.md b/IMPLEMENTATION.md index 4b51931..f912607 100644 --- a/IMPLEMENTATION.md +++ b/IMPLEMENTATION.md @@ -25,7 +25,7 @@ For some background, see [Cast SDK terminology](https://developers.google.com/ca ### Communication -SDK instances send messages through a MessageChannel managed by the [`pageMessaging`](./ext/src/cast/pageMessenging.ts) module. One side listens for an initialization message containing a MessagePort, then receives messages from the SDK on that port and calls its message listeners so that they can be forwarded to the Cast Manager. The other side sends that initialization message and handles responses back from the Cast Manager. +SDK instances send messages through a MessageChannel managed by the [`pageMessaging`](./ext/src/cast/pageMessaging.ts) module. One side listens for an initialization message containing a MessagePort, then receives messages from the SDK on that port and calls its message listeners so that they can be forwarded to the Cast Manager. The other side sends that initialization message and handles responses back from the Cast Manager. ### Initialization diff --git a/ext/src/cast/content.ts b/ext/src/cast/content.ts index 98fb3ea..0235f4a 100644 --- a/ext/src/cast/content.ts +++ b/ext/src/cast/content.ts @@ -6,7 +6,7 @@ import logger from "../lib/logger"; import { loadScript } from "../lib/utils"; -import pageMessenging from "./pageMessenging"; +import pageMessaging from "./pageMessaging"; import CastSDK from "./sdk"; import { CAST_FRAMEWORK_SCRIPT_URL } from "./urls"; @@ -30,7 +30,7 @@ if (document.currentScript) { } } -pageMessenging.page.addListener(async message => { +pageMessaging.page.addListener(async message => { switch (message.subject) { case "cast:instanceCreated": { // If framework API is loading, wait until completed diff --git a/ext/src/cast/contentBridge.ts b/ext/src/cast/contentBridge.ts index dde4481..0a8ca2e 100644 --- a/ext/src/cast/contentBridge.ts +++ b/ext/src/cast/contentBridge.ts @@ -1,19 +1,19 @@ import messaging, { Message } from "../messaging"; -import pageMessenging from "./pageMessenging"; +import pageMessaging from "./pageMessaging"; // Message port to cast manager in background script const managerPort = messaging.connect({ name: "cast" }); const forwardToPage = (message: Message) => { - pageMessenging.extension.sendMessage(message); + pageMessaging.extension.sendMessage(message); }; const forwardToMain = (message: Message) => { managerPort.postMessage(message); }; managerPort.onMessage.addListener(forwardToPage); -pageMessenging.extension.addListener(forwardToMain); +pageMessaging.extension.addListener(forwardToMain); managerPort.onDisconnect.addListener(() => { - pageMessenging.extension.close(); + pageMessaging.extension.close(); }); diff --git a/ext/src/cast/export.ts b/ext/src/cast/export.ts index 567723d..47446c4 100644 --- a/ext/src/cast/export.ts +++ b/ext/src/cast/export.ts @@ -2,10 +2,10 @@ import type { TypedMessagePort } from "../lib/TypedMessagePort"; import messaging, { Message } from "../messaging"; import type { ReceiverDevice } from "../types"; -import pageMessenging from "./pageMessenging"; +import pageMessaging from "./pageMessaging"; // Ensure extension-side is initialized first -void pageMessenging.extension; +void pageMessaging.extension; import CastSDK from "./sdk"; @@ -84,12 +84,12 @@ export function ensureInit(opts: EnsureInitOpts): Promise { } } - pageMessenging.extension.sendMessage(message); + pageMessaging.extension.sendMessage(message); }); managerPort.start(); // Cast instance -> cast manager - pageMessenging.extension.addListener(message => { + pageMessaging.extension.addListener(message => { // Skip receiver selection if (opts.receiverDevice) { message = rewriteTrustedRequestSession( @@ -107,17 +107,17 @@ export function ensureInit(opts: EnsureInitOpts): Promise { managerPort.onMessage.addListener(message => { if (message.subject === "cast:instanceCreated") { if (message.data.isAvailable) { - resolve(pageMessenging.page.messagePort); + resolve(pageMessaging.page.messagePort); } else { reject(); } } - pageMessenging.extension.sendMessage(message); + pageMessaging.extension.sendMessage(message); }); // Cast instance -> cast manager - pageMessenging.extension.addListener(message => { + pageMessaging.extension.addListener(message => { // Skip receiver selection if (opts.receiverDevice) { message = rewriteTrustedRequestSession( @@ -130,10 +130,10 @@ export function ensureInit(opts: EnsureInitOpts): Promise { }); managerPort.onDisconnect.addListener(() => { - pageMessenging.extension.close(); + pageMessaging.extension.close(); }); - existingPort = pageMessenging.page.messagePort; + existingPort = pageMessaging.page.messagePort; } }); } diff --git a/ext/src/cast/pageMessenging.ts b/ext/src/cast/pageMessaging.ts similarity index 97% rename from ext/src/cast/pageMessenging.ts rename to ext/src/cast/pageMessaging.ts index 80f0c9c..a03bb2a 100644 --- a/ext/src/cast/pageMessenging.ts +++ b/ext/src/cast/pageMessaging.ts @@ -43,7 +43,7 @@ abstract class Messenger { } /** - * Page-side of page script messenging. + * Page-side of page script messaging. * * Creates a message channel, then sends an INIT_MESSAGE window message * with a port that is handled by an ExtensionScriptMessenger in the @@ -79,7 +79,7 @@ export class PageScriptMessenger extends Messenger { } /** - * Extension-side of page script messenging. + * Extension-side of page script messaging. * * Listens for a INIT_MESSAGE window message from a PageScriptMessenger * running in a page script and establishes a message channel connection diff --git a/ext/src/cast/sdk/Session.ts b/ext/src/cast/sdk/Session.ts index d5cdcf5..b358b1a 100644 --- a/ext/src/cast/sdk/Session.ts +++ b/ext/src/cast/sdk/Session.ts @@ -2,7 +2,7 @@ import { v4 as uuid } from "uuid"; import { Logger } from "../../lib/logger"; -import eventMessaging from "../pageMessenging"; +import pageMessaging from "../pageMessaging"; import { convertSupportedMediaCommandsFlags } from "../utils"; import type { @@ -218,7 +218,7 @@ export default class Session { return new Promise((resolve, reject) => { const messageId = uuid(); - eventMessaging.page.sendMessage({ + pageMessaging.page.sendMessage({ subject: "bridge:sendCastReceiverMessage", data: { sessionId: this.sessionId, @@ -291,7 +291,7 @@ export default class Session { ) { const messageId = uuid(); - eventMessaging.page.sendMessage({ + pageMessaging.page.sendMessage({ subject: "bridge:sendCastSessionMessage", data: { sessionId: this.sessionId, diff --git a/ext/src/cast/sdk/index.ts b/ext/src/cast/sdk/index.ts index 6cd04e8..b67adaf 100644 --- a/ext/src/cast/sdk/index.ts +++ b/ext/src/cast/sdk/index.ts @@ -1,7 +1,7 @@ import { Logger } from "../../lib/logger"; import type { Message } from "../../messaging"; -import pageMessenging from "../pageMessenging"; +import pageMessaging from "../pageMessaging"; import { AutoJoinPolicy, @@ -102,7 +102,7 @@ export default class { timeout = new Timeout(); constructor() { - pageMessenging.page.addListener(this.#onMessage.bind(this)); + pageMessaging.page.addListener(this.#onMessage.bind(this)); } #onMessage(message: Message) { @@ -300,7 +300,7 @@ export default class { this.#initializeSuccessCallback = successCallback; } - pageMessenging.page.sendMessage({ + pageMessaging.page.sendMessage({ subject: "main:initializeCastSdk", data: { apiConfig: this.#apiConfig } }); @@ -343,7 +343,7 @@ export default class { this.#requestSessionErrorCallback = errorCallback; // Open receiver selector UI - pageMessenging.page.sendMessage({ + pageMessaging.page.sendMessage({ subject: "main:requestSession", data: { sessionRequest: this.#sessionRequest } });