Remove page script-accessible extension messaging

This commit is contained in:
hensm
2019-03-15 16:39:28 +00:00
parent d42509ee98
commit 1a5f8b351e
2 changed files with 76 additions and 59 deletions

View File

@@ -63,11 +63,15 @@ export default class Session {
this.transportId = sessionId || ""; this.transportId = sessionId || "";
if (receiver) { if (receiver) {
this._sendMessage("bridge:/session/initialize", { sendMessageResponse({
address: (receiver as any)._address subject: "bridge:/session/initialize"
, port: (receiver as any)._port , data: {
, appId address: (receiver as any)._address
, sessionId , port: (receiver as any)._port
, appId
, sessionId
}
, _id: this._id
}); });
} }
@@ -223,9 +227,13 @@ export default class Session {
if (!this._messageListeners.has(namespace)) { if (!this._messageListeners.has(namespace)) {
this._messageListeners.set(namespace, new Set()); this._messageListeners.set(namespace, new Set());
} }
this._messageListeners.get(namespace).add(listener); 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(); 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, [ this._leaveCallbacks.set(id, [
successCallback successCallback
@@ -328,10 +340,14 @@ export default class Session {
const messageId = uuid(); const messageId = uuid();
this._sendMessage("bridge:/session/impl_sendMessage", { sendMessageResponse({
namespace subject: "bridge:/session/impl_sendMessage"
, message , data: {
, messageId namespace
, message
, messageId
}
, _id: this._id
}); });
this._sendMessageCallbacks.set(messageId, [ this._sendMessageCallbacks.set(messageId, [
@@ -347,9 +363,10 @@ export default class Session {
const volumeId = uuid(); const volumeId = uuid();
this._sendMessage("bridge:/session/impl_setReceiverMuted", { sendMessageResponse({
muted subject: "bridge:/session/impl_setReceiverMuted"
, volumeId , data: { muted, volumeId }
, _id: this._id
}); });
this._setReceiverMutedCallbacks.set(volumeId, [ this._setReceiverMutedCallbacks.set(volumeId, [
@@ -364,9 +381,11 @@ export default class Session {
, errorCallback: ErrorCallback): void { , errorCallback: ErrorCallback): void {
const volumeId = uuid(); const volumeId = uuid();
this._sendMessage("bridge:/session/impl_setReceiverVolumeLevel", {
newLevel sendMessageResponse({
, volumeId subject: "bridge:/session/impl_setReceiverVolumeLevel"
, data: { newLevel, volumeId }
, _id: this._id
}); });
this._setReceiverVolumeLevelCallbacks.set(volumeId, [ this._setReceiverVolumeLevelCallbacks.set(volumeId, [
@@ -380,7 +399,12 @@ export default class Session {
, errorCallback: ErrorCallback): void { , errorCallback: ErrorCallback): void {
const stopId = uuid(); 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, [ this._stopCallbacks.set(stopId, [
successCallback successCallback
@@ -389,14 +413,6 @@ export default class Session {
} }
private _sendMessage (subject: string, data = {}) {
sendMessageResponse({
subject
, data
, _id: this._id
});
}
private _sendMediaMessage (message: string | {}) { private _sendMediaMessage (message: string | {}) {
this.sendMessage( this.sendMessage(
"urn:x-cast:com.google.cast.media" "urn:x-cast:com.google.cast.media"

View File

@@ -61,10 +61,14 @@ export default class Media {
, public mediaSessionId: number , public mediaSessionId: number
, _internalSessionId: string) { , _internalSessionId: string) {
this._sendMessage("bridge:/media/initialize", { sendMessageResponse({
sessionId subject: "bridge:/media/initialize"
, mediaSessionId , data: {
, _internalSessionId sessionId
, mediaSessionId
, _internalSessionId
}
, _id: this._id
}); });
onMessage(message => { onMessage(message => {
@@ -143,7 +147,7 @@ export default class Media {
public getStatus ( public getStatus (
getStatusRequest?: GetStatusRequest getStatusRequest?: GetStatusRequest
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
this._sendMediaMessage({ type: "MEDIA_GET_STATUS" } this._sendMediaMessage({ type: "MEDIA_GET_STATUS" }
, successCallback, errorCallback); , successCallback, errorCallback);
@@ -152,7 +156,7 @@ export default class Media {
public pause ( public pause (
pauseRequest: PauseRequest pauseRequest: PauseRequest
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
this._sendMediaMessage({ type: "PAUSE" } this._sendMediaMessage({ type: "PAUSE" }
, successCallback, errorCallback); , successCallback, errorCallback);
@@ -161,7 +165,7 @@ export default class Media {
public play ( public play (
playRequest?: PlayRequest playRequest?: PlayRequest
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
this._sendMediaMessage({ type: "PLAY" } this._sendMediaMessage({ type: "PLAY" }
, successCallback, errorCallback); , successCallback, errorCallback);
@@ -170,21 +174,21 @@ export default class Media {
public queueAppendItem ( public queueAppendItem (
item: QueueItem item: QueueItem
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
console.info("STUB :: Media#queueAppendItem"); console.info("STUB :: Media#queueAppendItem");
} }
public queueInsertItems ( public queueInsertItems (
queueInsertItemsRequest: QueueInsertItemsRequest queueInsertItemsRequest: QueueInsertItemsRequest
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
console.info("STUB :: Media#queueInsertItems"); console.info("STUB :: Media#queueInsertItems");
} }
public queueJumpToItem ( public queueJumpToItem (
itemId: number itemId: number
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
console.info("STUB :: Media#queueJumpToItem"); console.info("STUB :: Media#queueJumpToItem");
} }
@@ -192,47 +196,47 @@ export default class Media {
itemId: number itemId: number
, newIndex: number , newIndex: number
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
console.info("STUB :: Media#queueMoveItemToNewIndex"); console.info("STUB :: Media#queueMoveItemToNewIndex");
} }
public queueNext ( public queueNext (
successCallback?: SuccessCallback successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
console.info("STUB :: Media#queueNext"); console.info("STUB :: Media#queueNext");
} }
public queuePrev ( public queuePrev (
successCallback?: SuccessCallback successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
console.info("STUB :: Media#queuePrev"); console.info("STUB :: Media#queuePrev");
} }
public queueRemoveItem ( public queueRemoveItem (
itemId: number itemId: number
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
console.info("STUB :: Media#queueRemoveItem"); console.info("STUB :: Media#queueRemoveItem");
} }
public queueReorderItems ( public queueReorderItems (
queueReorderItemsRequest: QueueReorderItemsRequest queueReorderItemsRequest: QueueReorderItemsRequest
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
console.info("STUB :: Media#queueReorderItems"); console.info("STUB :: Media#queueReorderItems");
} }
public queueSetRepeatMode ( public queueSetRepeatMode (
repeatMode: string repeatMode: string
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
console.info("STUB :: Media#queueSetRepeatMode"); console.info("STUB :: Media#queueSetRepeatMode");
} }
public queueUpdateItems ( public queueUpdateItems (
queueUpdateItemsRequest: QueueUpdateItemsRequest queueUpdateItemsRequest: QueueUpdateItemsRequest
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
console.info("STUB :: Media#queueUpdateItems"); console.info("STUB :: Media#queueUpdateItems");
} }
@@ -243,7 +247,7 @@ export default class Media {
public seek ( public seek (
seekRequest: SeekRequest seekRequest: SeekRequest
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
this._sendMediaMessage({ this._sendMediaMessage({
type: "SEEK" type: "SEEK"
@@ -254,7 +258,7 @@ export default class Media {
public setVolume ( public setVolume (
volumeRequest: VolumeRequest volumeRequest: VolumeRequest
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
this._sendMediaMessage({ this._sendMediaMessage({
type: "SET_VOLUME" type: "SET_VOLUME"
@@ -265,26 +269,19 @@ export default class Media {
public stop ( public stop (
stopRequest: StopRequest stopRequest: StopRequest
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
, errorCallback?: ErrorCallback) { , errorCallback?: ErrorCallback): void {
this._sendMediaMessage({ this._sendMediaMessage({
type: "STOP" type: "STOP"
}, successCallback, errorCallback); }, successCallback, errorCallback);
} }
public supportsCommand (command: string) { public supportsCommand (command: string): boolean {
console.info("STUB :: Media#supportsCommand"); console.info("STUB :: Media#supportsCommand");
return true;
} }
private _sendMessage (subject: string, data: {}) {
sendMessageResponse({
subject
, data
, _id: this._id
});
}
private _sendMediaMessage ( private _sendMediaMessage (
message: any message: any
, successCallback?: SuccessCallback , successCallback?: SuccessCallback
@@ -302,9 +299,13 @@ export default class Media {
, errorCallback , errorCallback
]); ]);
this._sendMessage("bridge:/media/sendMediaMessage", { sendMessageResponse({
message subject: "bridge:/media/sendMediaMessage"
, messageId , data: {
message
, messageId
}
, _id: this._id
}); });
} }
} }