From 1a5f8b351e9679c8ac7c3760030e7de0d32ec8b1 Mon Sep 17 00:00:00 2001 From: hensm Date: Fri, 15 Mar 2019 16:39:28 +0000 Subject: [PATCH] Remove page script-accessible extension messaging --- ext/src/shim/cast/classes/Session.ts | 70 +++++++++++++++++----------- ext/src/shim/media/classes/Media.ts | 65 +++++++++++++------------- 2 files changed, 76 insertions(+), 59 deletions(-) diff --git a/ext/src/shim/cast/classes/Session.ts b/ext/src/shim/cast/classes/Session.ts index db541f3..7d0068a 100755 --- a/ext/src/shim/cast/classes/Session.ts +++ b/ext/src/shim/cast/classes/Session.ts @@ -63,11 +63,15 @@ export default class Session { this.transportId = sessionId || ""; if (receiver) { - this._sendMessage("bridge:/session/initialize", { - address: (receiver as any)._address - , port: (receiver as any)._port - , appId - , sessionId + sendMessageResponse({ + subject: "bridge:/session/initialize" + , data: { + address: (receiver as any)._address + , port: (receiver as any)._port + , appId + , sessionId + } + , _id: this._id }); } @@ -223,9 +227,13 @@ export default class Session { if (!this._messageListeners.has(namespace)) { this._messageListeners.set(namespace, new Set()); } + this._messageListeners.get(namespace).add(listener); - this._sendMessage("bridge:/session/impl_addMessageListener", { - namespace + + sendMessageResponse({ + subject: "bridge:/session/impl_addMessageListener" + , data: { namespace } + , _id: this._id }); } @@ -239,7 +247,11 @@ export default class Session { const id = uuid(); - this._sendMessage("bridge:/session/impl_leave", { id }); + sendMessageResponse({ + subject: "bridge:/session/impl_leave" + , data: { id } + , _id: this._id + }); this._leaveCallbacks.set(id, [ successCallback @@ -328,10 +340,14 @@ export default class Session { const messageId = uuid(); - this._sendMessage("bridge:/session/impl_sendMessage", { - namespace - , message - , messageId + sendMessageResponse({ + subject: "bridge:/session/impl_sendMessage" + , data: { + namespace + , message + , messageId + } + , _id: this._id }); this._sendMessageCallbacks.set(messageId, [ @@ -347,9 +363,10 @@ export default class Session { const volumeId = uuid(); - this._sendMessage("bridge:/session/impl_setReceiverMuted", { - muted - , volumeId + sendMessageResponse({ + subject: "bridge:/session/impl_setReceiverMuted" + , data: { muted, volumeId } + , _id: this._id }); this._setReceiverMutedCallbacks.set(volumeId, [ @@ -364,9 +381,11 @@ export default class Session { , errorCallback: ErrorCallback): void { const volumeId = uuid(); - this._sendMessage("bridge:/session/impl_setReceiverVolumeLevel", { - newLevel - , volumeId + + sendMessageResponse({ + subject: "bridge:/session/impl_setReceiverVolumeLevel" + , data: { newLevel, volumeId } + , _id: this._id }); this._setReceiverVolumeLevelCallbacks.set(volumeId, [ @@ -380,7 +399,12 @@ export default class Session { , errorCallback: ErrorCallback): void { const stopId = uuid(); - this._sendMessage("bridge:/session/impl_stop", { stopId }); + + sendMessageResponse({ + subject: "bridge:/session/impl_stop" + , data: { stopId } + , _id: this._id + }); this._stopCallbacks.set(stopId, [ successCallback @@ -389,14 +413,6 @@ export default class Session { } - private _sendMessage (subject: string, data = {}) { - sendMessageResponse({ - subject - , data - , _id: this._id - }); - } - private _sendMediaMessage (message: string | {}) { this.sendMessage( "urn:x-cast:com.google.cast.media" diff --git a/ext/src/shim/media/classes/Media.ts b/ext/src/shim/media/classes/Media.ts index 6a6986c..31775f2 100644 --- a/ext/src/shim/media/classes/Media.ts +++ b/ext/src/shim/media/classes/Media.ts @@ -61,10 +61,14 @@ export default class Media { , public mediaSessionId: number , _internalSessionId: string) { - this._sendMessage("bridge:/media/initialize", { - sessionId - , mediaSessionId - , _internalSessionId + sendMessageResponse({ + subject: "bridge:/media/initialize" + , data: { + sessionId + , mediaSessionId + , _internalSessionId + } + , _id: this._id }); onMessage(message => { @@ -143,7 +147,7 @@ export default class Media { public getStatus ( getStatusRequest?: GetStatusRequest , successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { this._sendMediaMessage({ type: "MEDIA_GET_STATUS" } , successCallback, errorCallback); @@ -152,7 +156,7 @@ export default class Media { public pause ( pauseRequest: PauseRequest , successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { this._sendMediaMessage({ type: "PAUSE" } , successCallback, errorCallback); @@ -161,7 +165,7 @@ export default class Media { public play ( playRequest?: PlayRequest , successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { this._sendMediaMessage({ type: "PLAY" } , successCallback, errorCallback); @@ -170,21 +174,21 @@ export default class Media { public queueAppendItem ( item: QueueItem , successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { console.info("STUB :: Media#queueAppendItem"); } public queueInsertItems ( queueInsertItemsRequest: QueueInsertItemsRequest , successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { console.info("STUB :: Media#queueInsertItems"); } public queueJumpToItem ( itemId: number , successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { console.info("STUB :: Media#queueJumpToItem"); } @@ -192,47 +196,47 @@ export default class Media { itemId: number , newIndex: number , successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { console.info("STUB :: Media#queueMoveItemToNewIndex"); } public queueNext ( successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { console.info("STUB :: Media#queueNext"); } public queuePrev ( successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { console.info("STUB :: Media#queuePrev"); } public queueRemoveItem ( itemId: number , successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { console.info("STUB :: Media#queueRemoveItem"); } public queueReorderItems ( queueReorderItemsRequest: QueueReorderItemsRequest , successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { console.info("STUB :: Media#queueReorderItems"); } public queueSetRepeatMode ( repeatMode: string , successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { console.info("STUB :: Media#queueSetRepeatMode"); } public queueUpdateItems ( queueUpdateItemsRequest: QueueUpdateItemsRequest , successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { console.info("STUB :: Media#queueUpdateItems"); } @@ -243,7 +247,7 @@ export default class Media { public seek ( seekRequest: SeekRequest , successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { this._sendMediaMessage({ type: "SEEK" @@ -254,7 +258,7 @@ export default class Media { public setVolume ( volumeRequest: VolumeRequest , successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { this._sendMediaMessage({ type: "SET_VOLUME" @@ -265,26 +269,19 @@ export default class Media { public stop ( stopRequest: StopRequest , successCallback?: SuccessCallback - , errorCallback?: ErrorCallback) { + , errorCallback?: ErrorCallback): void { this._sendMediaMessage({ type: "STOP" }, successCallback, errorCallback); } - public supportsCommand (command: string) { + public supportsCommand (command: string): boolean { console.info("STUB :: Media#supportsCommand"); + return true; } - private _sendMessage (subject: string, data: {}) { - sendMessageResponse({ - subject - , data - , _id: this._id - }); - } - private _sendMediaMessage ( message: any , successCallback?: SuccessCallback @@ -302,9 +299,13 @@ export default class Media { , errorCallback ]); - this._sendMessage("bridge:/media/sendMediaMessage", { - message - , messageId + sendMessageResponse({ + subject: "bridge:/media/sendMediaMessage" + , data: { + message + , messageId + } + , _id: this._id }); } }