diff --git a/app/src/Media.js b/app/src/Media.js
index 44eff0b..906cb2f 100644
--- a/app/src/Media.js
+++ b/app/src/Media.js
@@ -1,7 +1,7 @@
export default class Media {
messageHandler (message) {
switch (message.subject) {
- case "bridge:bridgemedia/sendMediaMessage": {
+ case "bridge:/media/sendMediaMessage": {
let error = false;
try {
this.channel.send(message.data.message);
@@ -9,7 +9,7 @@ export default class Media {
error = true;
}
- this.sendMessage("shim:media/sendMediaMessageResponse", {
+ this.sendMessage("shim:/media/sendMediaMessageResponse", {
messageId: message.data.messageId
, error
});
@@ -62,7 +62,7 @@ export default class Media {
messageData.mediaSessionId = status.mediaSessionId;
}
- this.sendMessage("shim:media/update", messageData);
+ this.sendMessage("shim:/media/update", messageData);
// Update ID
if (status.mediaSessionId) {
diff --git a/app/src/Session.js b/app/src/Session.js
index d07c9a8..346c892 100644
--- a/app/src/Session.js
+++ b/app/src/Session.js
@@ -3,34 +3,34 @@ import { Client } from "castv2";
export default class Session {
messageHandler (message) {
switch (message.subject) {
- case "bridge:bridgesession/close":
+ case "bridge:/session/close":
this.close();
break;
- case "bridge:bridgesession/impl_addMessageListener":
+ case "bridge:/session/impl_addMessageListener":
this._impl_addMessageListener(message.data.namespace);
break;
- case "bridge:bridgesession/impl_sendMessage":
+ case "bridge:/session/impl_sendMessage":
this._impl_sendMessage(
message.data.namespace
, message.data.message
, message.data.messageId)
break;
- case "bridge:bridgesession/impl_setReceiverMuted":
+ case "bridge:/session/impl_setReceiverMuted":
this._impl_setReceiverMuted(
message.data.muted
, message.data.volumeId);
break;
- case "bridge:bridgesession/impl_setReceiverVolumeLevel":
+ case "bridge:/session/impl_setReceiverVolumeLevel":
this._impl_setReceiverVolumeLevel(
message.data.newLevel
, message.data.volumeId);
break;
- case "bridge:bridgesession/impl_stop":
+ case "bridge:/session/impl_stop":
this._impl_stop(message.data.stopId);
break;
}
@@ -89,7 +89,7 @@ export default class Session {
switch (data.type) {
case "RECEIVER_STATUS":
- this.sendMessage("shim:session/updateStatus", data.status);
+ this.sendMessage("shim:/session/updateStatus", data.status);
if (!data.status.applications) return;
@@ -100,7 +100,7 @@ export default class Session {
if (receiverAppId !== appId) {
// Close session
- this.sendMessage("shim:session/stopped");
+ this.sendMessage("shim:/session/stopped");
this.client.close();
clearInterval(this.clientHeartbeatInterval);
return;
@@ -129,7 +129,7 @@ export default class Session {
this.sessionId = this.app.sessionId;
- this.sendMessage("shim:session/connected", {
+ this.sendMessage("shim:/session/connected", {
sessionId: this.app.sessionId
, namespaces: this.app.namespaces
, displayName: this.app.displayName
@@ -170,7 +170,7 @@ export default class Session {
_impl_addMessageListener (namespace) {
this.createChannel(namespace);
this.channelMap.get(namespace).on("message", data => {
- this.sendMessage("shim:session/impl_addMessageListener", {
+ this.sendMessage("shim:/session/impl_addMessageListener", {
namespace: namespace
, data: JSON.stringify(data)
});
@@ -187,7 +187,7 @@ export default class Session {
error = true;
}
- this.sendMessage("shim:session/impl_sendMessage", {
+ this.sendMessage("shim:/session/impl_sendMessage", {
messageId
, error
});
@@ -206,7 +206,7 @@ export default class Session {
error = true;
}
- this.sendMessage("shim:session/impl_setReceiverMuted", {
+ this.sendMessage("shim:/session/impl_setReceiverMuted", {
volumeId
, error
});
@@ -225,7 +225,7 @@ export default class Session {
error = true;
}
- this.sendMessage("shim:session/impl_setReceiverVolumeLevel", {
+ this.sendMessage("shim:/session/impl_setReceiverVolumeLevel", {
volumeId
, error
});
@@ -247,7 +247,7 @@ export default class Session {
this.client.close();
clearInterval(this.clientHeartbeatInterval);
- this.sendMessage("shim:session/impl_stop", {
+ this.sendMessage("shim:/session/impl_stop", {
stopId
, error
});
diff --git a/app/src/main.js b/app/src/main.js
index 5bef0f8..dedb808 100755
--- a/app/src/main.js
+++ b/app/src/main.js
@@ -54,7 +54,7 @@ const existingMedia = new Map();
* for managing existing ones.
*/
async function handleMessage (message) {
- if (message.subject.startsWith("bridge:bridgemedia/")) {
+ if (message.subject.startsWith("bridge:/media/")) {
if (existingMedia.has(message._id)) {
// Forward message to instance message handler
existingMedia.get(message._id).messageHandler(message);
@@ -77,7 +77,7 @@ async function handleMessage (message) {
return;
}
- if (message.subject.startsWith("bridge:bridgesession/")) {
+ if (message.subject.startsWith("bridge:/session/")) {
if (existingSessions.has(message._id)) {
// Forward message to instance message handler
existingSessions.get(message._id).messageHandler(message);
@@ -96,22 +96,21 @@ async function handleMessage (message) {
return;
}
-
switch (message.subject) {
- case "bridge:getInfo": {
+ case "bridge:/getInfo": {
const extensionVersion = message.data;
return {
- subject: "main:bridgeInfo"
+ subject: "main:/bridgeInfo"
, data: __applicationVersion
};
};
- case "bridge:discover":
+ case "bridge:/discover":
browser.start();
break;
- case "bridge:startHttpServer": {
+ case "bridge:/startHttpServer": {
const { filePath, port } = message.data;
httpServer = http.createServer((req, res) => {
@@ -152,14 +151,14 @@ async function handleMessage (message) {
httpServer.listen(port, () => {
sendMessage({
- subject: "mediaCast:httpServerStarted"
+ subject: "mediaCast:/httpServerStarted"
});
});
break;
};
- case "bridge:stopHttpServer":
+ case "bridge:/stopHttpServer":
if (httpServer) httpServer.close();
break;
}
@@ -168,7 +167,7 @@ async function handleMessage (message) {
browser.on("serviceUp", service => {
transforms.encode.write({
- subject: "serviceUp"
+ subject: "shim:/serviceUp"
, data: {
address: service.addresses[0]
, port: service.port
@@ -181,7 +180,7 @@ browser.on("serviceUp", service => {
browser.on("serviceDown", service => {
transforms.encode.write({
- subject:"serviceDown"
+ subject:"shim:/serviceDown"
, data: {
id: service.txt.id
}
diff --git a/ext/src/content.js b/ext/src/content.js
index 2b15233..5c1de1d 100644
--- a/ext/src/content.js
+++ b/ext/src/content.js
@@ -26,7 +26,8 @@ browser.runtime.onConnect.addListener(port => {
});
document.addEventListener("__castMessageResponse", ev => {
- if (ev.detail.destination === "popup") {
+ const [ destination ] = ev.detail.subject.split(":/");
+ if (destination === "popup") {
if (popupPort) {
popupPort.postMessage(ev.detail);
}
diff --git a/ext/src/lib/getBridgeInfo.js b/ext/src/lib/getBridgeInfo.js
index 942ad3c..4f37fad 100644
--- a/ext/src/lib/getBridgeInfo.js
+++ b/ext/src/lib/getBridgeInfo.js
@@ -5,7 +5,7 @@ export default async function getBridgeInfo () {
try {
const response = await browser.runtime.sendNativeMessage(
APPLICATION_NAME
- , { subject: "bridge:getInfo"
+ , { subject: "bridge:/getInfo"
, data: EXTENSION_VERSION });
applicationVersion = response.data;
diff --git a/ext/src/messageRouter.js b/ext/src/lib/messageRouter.js
similarity index 100%
rename from ext/src/messageRouter.js
rename to ext/src/lib/messageRouter.js
diff --git a/ext/src/main.js b/ext/src/main.js
index 8d70325..413ca48 100755
--- a/ext/src/main.js
+++ b/ext/src/main.js
@@ -1,8 +1,8 @@
"use strict";
import defaultOptions from "./options/defaultOptions";
-import messageRouter from "./messageRouter";
-import getBridgeInfo from "./lib/getBridgeInfo";
+import getBridgeInfo from "./lib/getBridgeInfo";
+import messageRouter from "./lib/messageRouter";
import semver from "semver";
@@ -383,7 +383,7 @@ async function openPopup (shimId) {
browser.windows.onRemoved.addListener(id => {
if (id === popupWinId) {
shimMap.get(popupShimId).port.postMessage({
- subject: "popupClosed"
+ subject: "shim:/popupClosed"
});
popupWinId = null;
@@ -448,12 +448,16 @@ async function onConnectShim (port) {
});
port.onMessage.addListener(async message => {
- if (message.subject.startsWith("bridge")) {
- bridgePort.postMessage(message);
+ const [ destination ] = message.subject.split(":/");
+ switch (destination) {
+ case "bridge": {
+ bridgePort.postMessage(message);
+ break;
+ };
}
switch (message.subject) {
- case "openPopup": {
+ case "main:/openPopup": {
/**
* If popup already open, reassign to new shim,
* otherwise create a new popup.
@@ -462,7 +466,7 @@ async function onConnectShim (port) {
// Reassign popup to new shim
popupPort.postMessage({
- subject: "assignPopup"
+ subject: "popup:/assignShim"
, data: {
tabId
, frameId
@@ -473,8 +477,8 @@ async function onConnectShim (port) {
* Notify shim that existing popup has closed and
* to re-populate receiver list for new popup.
*/
- port.postMessage({ subject: "popupClosed" });
- port.postMessage({ subject: "popupReady" });
+ port.postMessage({ subject: "shim:/popupClosed" });
+ port.postMessage({ subject: "shim:/popupReady" });
} else {
await openPopup(shimId);
}
@@ -482,14 +486,6 @@ async function onConnectShim (port) {
break;
};
- case "discover": {
- bridgePort.postMessage({
- subject: "bridge:discover"
- });
-
- break;
- };
-
default: {
// TODO: Remove need for this
messageRouter.handleMessage(message);
@@ -499,7 +495,7 @@ async function onConnectShim (port) {
});
port.postMessage({
- subject: "shimInitialized"
+ subject: "shim:/initialized"
, data: bridgeInfo
});
}
@@ -513,7 +509,7 @@ function onConnectPopup (port) {
const { tabId, frameId } = shimMap.get(popupShimId);
port.postMessage({
- subject: "assignPopup"
+ subject: "popup:/assignShim"
, data: {
tabId
, frameId
diff --git a/ext/src/mediaCast.js b/ext/src/mediaCast.js
index 37dfd53..ca87b37 100644
--- a/ext/src/mediaCast.js
+++ b/ext/src/mediaCast.js
@@ -18,7 +18,7 @@ const mediaElement = browser.menus.getTargetElement(targetElementId);
window.addEventListener("beforeunload", () => {
browser.runtime.sendMessage({
- subject: "bridge:stopHttpServer"
+ subject: "bridge:/stopHttpServer"
});
if (options.mediaStopOnUnload) {
@@ -58,7 +58,7 @@ async function onRequestSessionSuccess (session_) {
if (isLocalFile) {
await new Promise((resolve, reject) => {
browser.runtime.sendMessage({
- subject: "bridge:startHttpServer"
+ subject: "bridge:/startHttpServer"
, data: {
filePath: decodeURI(mediaUrl.pathname)
, port
@@ -66,7 +66,7 @@ async function onRequestSessionSuccess (session_) {
});
browser.runtime.onMessage.addListener(function onMessage (message) {
- if (message.subject === "mediaCast:httpServerStarted") {
+ if (message.subject === "mediaCast:/httpServerStarted") {
browser.runtime.onMessage.removeListener(onMessage);
resolve();
}
diff --git a/ext/src/popup/index.jsx b/ext/src/popup/index.jsx
index fb7bbe8..ac47d28 100755
--- a/ext/src/popup/index.jsx
+++ b/ext/src/popup/index.jsx
@@ -1,221 +1,221 @@
-"use strict";
-
-import React, { Component } from "react";
-import ReactDOM from "react-dom";
-
-const _ = browser.i18n.getMessage;
-
-// macOS styles
-browser.runtime.getPlatformInfo()
- .then(platformInfo => {
- if (platformInfo.os === "mac") {
- const link = document.createElement("link");
- link.rel = "stylesheet";
- link.href = "styles/mac.css";
- document.head.appendChild(link);
- }
- });
-
-
-let winWidth = 350;
-let winHeight = 200;
-
-let frameHeight;
-let frameWidth;
-
-
-class App extends Component {
- constructor () {
- super();
-
- this.state = {
- receivers: []
- , selectedMedia: "app"
- , isLoading: false
- };
-
- // Store window ref
- browser.windows.getCurrent().then(win => {
- this.win = win;
- frameHeight = win.height - window.innerHeight;
- frameWidth = win.width - window.innerWidth;
- });
- }
-
- async setPort (shimTabId, shimFrameId) {
- if (this.port) {
- this.port.disconnect();
- }
-
- this.port = browser.tabs.connect(shimTabId, {
- name: "popup"
- , frameId: shimFrameId
- });
-
- this.port.postMessage({
- subject: "popupReady"
- });
-
- this.port.onMessage.addListener(message => {
- switch (message.subject) {
- case "populateReceiverList": {
- this.setState({
- receivers: message.data.receivers
- , selectedMedia: message.data.selectedMedia
- }, () => {
- // Get height of content without window decoration
- winHeight = document.body.clientHeight + frameHeight;
-
- // Adjust height to fit content
- browser.windows.update(this.win.id, {
- height: winHeight
- });
- });
-
- break;
- }
-
- case "close": {
- window.close();
-
- break;
- }
- }
- });
- }
-
- componentDidMount () {
- const backgroundPort = browser.runtime.connect({
- name: "popup"
- });
-
- backgroundPort.onMessage.addListener(message => {
- if (message.subject === "assignPopup") {
- this.setPort(message.data.tabId
- , message.data.frameId);
- }
- });
- }
-
- onCast (receiver) {
- this.setState({
- isLoading: true
- });
-
- this.port.postMessage({
- subject: "selectReceiver"
- , data: {
- receiver
- , selectedMedia: this.state.selectedMedia
- }
- });
- }
-
- onSelectChange (ev) {
- this.setState({
- selectedMedia: ev.target.value
- });
- }
-
- render () {
- const shareMedia =
- this.state.selectedMedia === "tab"
- || this.state.selectedMedia === "screen";
-
- return (
-
-
- Cast
-
- to:
-
-
- { this.state.receivers.map((receiver, i) => {
- return (
-
- );
- })}
-
-
- );
- }
-}
-
-class Receiver extends Component {
- constructor () {
- super();
-
- this.state = {
- isLoading: false
- , ellipsis: ""
- };
- }
-
- onClick () {
- this.props.onCast(this.props.receiver);
-
- this.setState({
- isLoading: true
- });
-
- setInterval(() => {
- this.setState({
- ellipsis: do {
- if (this.state.ellipsis === "") ".";
- else if (this.state.ellipsis === ".") "..";
- else if (this.state.ellipsis === "..") "...";
- else if (this.state.ellipsis === "...") "";
- }
- });
-
- }, 500);
- }
-
- render () {
- return (
-
-
- { this.props.receiver.friendlyName }
-
-
- { `${this.props.receiver.address}:${this.props.receiver.port}` }
-
-
- { do {
- if (this.props.receiver.currentApp) {
- `- ${this.props.receiver.currentApp}`
- }
- }}
-
-
-
- );
- }
-}
-
-
-ReactDOM.render(
-
- , document.querySelector("#root"));
+"use strict";
+
+import React, { Component } from "react";
+import ReactDOM from "react-dom";
+
+const _ = browser.i18n.getMessage;
+
+// macOS styles
+browser.runtime.getPlatformInfo()
+ .then(platformInfo => {
+ if (platformInfo.os === "mac") {
+ const link = document.createElement("link");
+ link.rel = "stylesheet";
+ link.href = "styles/mac.css";
+ document.head.appendChild(link);
+ }
+ });
+
+
+let winWidth = 350;
+let winHeight = 200;
+
+let frameHeight;
+let frameWidth;
+
+
+class App extends Component {
+ constructor () {
+ super();
+
+ this.state = {
+ receivers: []
+ , selectedMedia: "app"
+ , isLoading: false
+ };
+
+ // Store window ref
+ browser.windows.getCurrent().then(win => {
+ this.win = win;
+ frameHeight = win.height - window.innerHeight;
+ frameWidth = win.width - window.innerWidth;
+ });
+ }
+
+ async setPort (shimTabId, shimFrameId) {
+ if (this.port) {
+ this.port.disconnect();
+ }
+
+ this.port = browser.tabs.connect(shimTabId, {
+ name: "popup"
+ , frameId: shimFrameId
+ });
+
+ this.port.postMessage({
+ subject: "shim:/popupReady"
+ });
+
+ this.port.onMessage.addListener(message => {
+ switch (message.subject) {
+ case "popup:/populateReceiverList": {
+ this.setState({
+ receivers: message.data.receivers
+ , selectedMedia: message.data.selectedMedia
+ }, () => {
+ // Get height of content without window decoration
+ winHeight = document.body.clientHeight + frameHeight;
+
+ // Adjust height to fit content
+ browser.windows.update(this.win.id, {
+ height: winHeight
+ });
+ });
+
+ break;
+ }
+
+ case "popup:/close": {
+ window.close();
+
+ break;
+ }
+ }
+ });
+ }
+
+ componentDidMount () {
+ const backgroundPort = browser.runtime.connect({
+ name: "popup"
+ });
+
+ backgroundPort.onMessage.addListener(message => {
+ if (message.subject === "popup:/assignShim") {
+ this.setPort(message.data.tabId
+ , message.data.frameId);
+ }
+ });
+ }
+
+ onCast (receiver) {
+ this.setState({
+ isLoading: true
+ });
+
+ this.port.postMessage({
+ subject: "shim:/selectReceiver"
+ , data: {
+ receiver
+ , selectedMedia: this.state.selectedMedia
+ }
+ });
+ }
+
+ onSelectChange (ev) {
+ this.setState({
+ selectedMedia: ev.target.value
+ });
+ }
+
+ render () {
+ const shareMedia =
+ this.state.selectedMedia === "tab"
+ || this.state.selectedMedia === "screen";
+
+ return (
+
+
+ Cast
+
+ to:
+
+
+ { this.state.receivers.map((receiver, i) => {
+ return (
+
+ );
+ })}
+
+
+ );
+ }
+}
+
+class Receiver extends Component {
+ constructor () {
+ super();
+
+ this.state = {
+ isLoading: false
+ , ellipsis: ""
+ };
+ }
+
+ onClick () {
+ this.props.onCast(this.props.receiver);
+
+ this.setState({
+ isLoading: true
+ });
+
+ setInterval(() => {
+ this.setState({
+ ellipsis: do {
+ if (this.state.ellipsis === "") ".";
+ else if (this.state.ellipsis === ".") "..";
+ else if (this.state.ellipsis === "..") "...";
+ else if (this.state.ellipsis === "...") "";
+ }
+ });
+
+ }, 500);
+ }
+
+ render () {
+ return (
+
+
+ { this.props.receiver.friendlyName }
+
+
+ { `${this.props.receiver.address}:${this.props.receiver.port}` }
+
+
+ { do {
+ if (this.props.receiver.currentApp) {
+ `- ${this.props.receiver.currentApp}`
+ }
+ }}
+
+
+
+ );
+ }
+}
+
+
+ReactDOM.render(
+
+ , document.querySelector("#root"));
diff --git a/ext/src/shim/cast/classes/Session.js b/ext/src/shim/cast/classes/Session.js
index c0a1ea7..554fdd6 100755
--- a/ext/src/shim/cast/classes/Session.js
+++ b/ext/src/shim/cast/classes/Session.js
@@ -45,7 +45,7 @@ export default class Session {
this.statusText = null;
if (receiver) {
- this._sendMessage("bridge:bridgesession/initialize", {
+ this._sendMessage("bridge:/session/initialize", {
address: receiver._address
, port: receiver._port
, appId
@@ -60,12 +60,14 @@ export default class Session {
}
switch (message.subject) {
- case "shim:session/stopped":
+ case "shim:/session/stopped": {
this.status = SessionStatus.STOPPED;
this._updateListeners.forEach(listener => listener());
- break;
- case "shim:session/connected":
+ break;
+ };
+
+ case "shim:/session/connected": {
this.status = SessionStatus.CONNECTED;
this.sessionId = message.data.sessionId;
this.namespaces = message.data.namespaces;
@@ -77,8 +79,9 @@ export default class Session {
}
break;
+ };
- case "shim:session/updateStatus":
+ case "shim:/session/updateStatus": {
if (message.data.volume) {
if (!this.receiver.volume) {
const receiverVolume = new Volume(
@@ -94,17 +97,19 @@ export default class Session {
this.receiver.volume.muted = message.data.volume.muted;
}
}
+
break;
+ };
- case "shim:session/impl_addMessageListener": {
+ case "shim:/session/impl_addMessageListener": {
const { namespace, data } = message.data;
this._messageListeners.get(namespace).forEach(
listener => listener(namespace, data));
break;
- }
+ };
- case "shim:session/impl_sendMessage": {
+ case "shim:/session/impl_sendMessage": {
const { messageId, error } = message.data;
const [ successCallback, errorCallback ]
= this._sendMessageCallbacks.get(messageId)
@@ -114,11 +119,13 @@ export default class Session {
} else if (successCallback) {
successCallback();
}
- this._sendMessageCallbacks.delete(messageId);
- break;
- }
- case "shim:session/impl_setReceiverMuted": {
+ this._sendMessageCallbacks.delete(messageId);
+
+ break;
+ };
+
+ case "shim:/session/impl_setReceiverMuted": {
const { volumeId, error } = message.data;
const [ successCallback, errorCallback ]
= this._setReceiverMutedCallbacks.get(volumeId);
@@ -128,11 +135,13 @@ export default class Session {
} else if (successCallback) {
successCallback();
}
- break;
- this._setReceiverMutedCallbacks.delete(volumeId);
- }
- case "shim:session/impl_setReceiverVolumeLevel": {
+ this._setReceiverMutedCallbacks.delete(volumeId);
+
+ break;
+ };
+
+ case "shim:/session/impl_setReceiverVolumeLevel": {
const { volumeId, error } = message.data;
const [ successCallback, errorCallback ]
= this._setReceiverVolumeLevelCallbacks.get(volumeId);
@@ -142,11 +151,13 @@ export default class Session {
} else if (successCallback) {
successCallback();
}
- this._setReceiverVolumeLevelCallbacks.delete(volumeId);
- break;
- }
- case "shim:session/impl_stop": {
+ this._setReceiverVolumeLevelCallbacks.delete(volumeId);
+
+ break;
+ };
+
+ case "shim:/session/impl_stop": {
const { stopId, error } = message.data;
const [ successCallback, errorCallback ]
= this._stopCallbacks.get(stopId);
@@ -161,10 +172,11 @@ export default class Session {
successCallback();
}
}
- this._stopCallbacks.delete(stopId);
- break;
- }
+ this._stopCallbacks.delete(stopId);
+
+ break;
+ };
}
});
}
@@ -187,7 +199,7 @@ export default class Session {
this._messageListeners.set(namespace, new Set());
}
this._messageListeners.get(namespace).add(listener);
- this._sendMessage("bridge:bridgesession/impl_addMessageListener", {
+ this._sendMessage("bridge:/session/impl_addMessageListener", {
namespace
});
}
@@ -199,7 +211,7 @@ export default class Session {
leave (successCallback, errorCallback) {
const id = uuid();
- this._sendMessage("bridge:bridgesession/impl_leave", { id });
+ this._sendMessage("bridge:/session/impl_leave", { id });
this._leaveCallbacks.set(id, [
successCallback
@@ -270,7 +282,7 @@ export default class Session {
sendMessage (namespace, message, successCallback, errorCallback) {
const messageId = uuid();
- this._sendMessage("bridge:bridgesession/impl_sendMessage", {
+ this._sendMessage("bridge:/session/impl_sendMessage", {
namespace
, message
, messageId
@@ -285,7 +297,7 @@ export default class Session {
setReceiverMuted (muted, successCallback, errorCallback) {
const volumeId = uuid();
- this._sendMessage("bridge:bridgesession/impl_setReceiverMuted", {
+ this._sendMessage("bridge:/session/impl_setReceiverMuted", {
muted
, volumeId
});
@@ -298,7 +310,7 @@ export default class Session {
setReceiverVolumeLevel (newLevel, successCallback, errorCallback) {
const volumeId = uuid();
- this._sendMessage("bridge:bridgesession/impl_setReceiverVolumeLevel", {
+ this._sendMessage("bridge:/session/impl_setReceiverVolumeLevel", {
newLevel
, volumeId
});
@@ -311,7 +323,7 @@ export default class Session {
stop (successCallback, errorCallback) {
const stopId = uuid();
- this._sendMessage("bridge:bridgesession/impl_stop", { stopId });
+ this._sendMessage("bridge:/session/impl_stop", { stopId });
this._stopCallbacks.set(stopId, [
successCallback
diff --git a/ext/src/shim/cast/index.js b/ext/src/shim/cast/index.js
index d73377c..d9b50fc 100755
--- a/ext/src/shim/cast/index.js
+++ b/ext/src/shim/cast/index.js
@@ -91,7 +91,7 @@ cast.initialize = (
state.apiConfig = apiConfig;
sendMessage({
- subject: "discover"
+ subject: "bridge:/discover"
});
apiConfig.receiverListener(state.receiverList.length
@@ -146,7 +146,7 @@ cast.requestSession = (
// Open destination chooser
sendMessage({
- subject: "openPopup"
+ subject: "main:/openPopup"
});
};
@@ -175,7 +175,7 @@ onMessage(message => {
* Cast destination found (serviceUp). Set the API availability
* property and call the page event function (__onGCastApiAvailable).
*/
- case "serviceUp": {
+ case "shim:/serviceUp": {
const receiver = message.data;
if (state.receiverList.find(r => r.id === receiver.id)) {
@@ -194,7 +194,7 @@ onMessage(message => {
* Cast destination lost (serviceDown). Remove from the receiver list
* and update availability state.
*/
- case "serviceDown": {
+ case "shim:/serviceDown": {
state.receiverList = state.receiverList.filter(
receiver => receiver.id !== message.data.id);
@@ -206,7 +206,7 @@ onMessage(message => {
break;
};
- case "selectReceiver": {
+ case "shim:/selectReceiver": {
console.info("Caster (Debug): Selected receiver");
const selectedReceiver = new Receiver(
@@ -224,8 +224,7 @@ onMessage(message => {
, selectedReceiver // receiver
, (session) => {
sendMessage({
- subject: "close"
- , destination: "popup"
+ subject: "popup:/close"
});
state.apiConfig.sessionListener(session);
@@ -257,10 +256,9 @@ onMessage(message => {
* Popup is ready to receive data to populate the cast destination
* chooser.
*/
- case "popupReady": {
+ case "shim:/popupReady": {
sendMessage({
- subject: "populateReceiverList"
- , destination: "popup"
+ subject: "popup:/populateReceiverList"
, data: {
receivers: state.receiverList
, selectedMedia: state.apiConfig._selectedMedia
@@ -273,7 +271,7 @@ onMessage(message => {
/**
* Popup closed before session established.
*/
- case "popupClosed": {
+ case "shim:/popupClosed": {
if (state.sessionRequestInProgress) {
state.sessionRequestInProgress = false;
sessionErrorCallback(new Error_(ErrorCode.CANCEL));
diff --git a/ext/src/shim/index.js b/ext/src/shim/index.js
index d485752..9ddc1ae 100755
--- a/ext/src/shim/index.js
+++ b/ext/src/shim/index.js
@@ -16,7 +16,7 @@ window.chrome.cast.media = media;
onMessage(message => {
switch (message.subject) {
- case "shimInitialized": {
+ case "shim:/initialized": {
const bridgeInfo = message.data;
// Call page's API loaded function if defined
diff --git a/ext/src/shim/media/classes/Media.js b/ext/src/shim/media/classes/Media.js
index e4c2326..ffcf818 100644
--- a/ext/src/shim/media/classes/Media.js
+++ b/ext/src/shim/media/classes/Media.js
@@ -36,7 +36,7 @@ export default class Media {
this.supportedMediaCommands = [];
this.volume = new Volume();
- this._sendMessage("bridge:bridgemedia/initialize", {
+ this._sendMessage("bridge:/media/initialize", {
sessionId
, mediaSessionId
, _internalSessionId
@@ -48,7 +48,7 @@ export default class Media {
}
switch (message.subject) {
- case "shim:media/update":
+ case "shim:/media/update":
const status = message.data;
this.currentTime = status.currentTime;
this._lastCurrentTime = status._lastCurrentTime;
@@ -72,7 +72,7 @@ export default class Media {
break;
- case "shim:media/sendMediaMessageResponse":
+ case "shim:/media/sendMediaMessageResponse":
const { messageId, error } = message.data;
const [ successCallback, errorCallback ]
= this._sendMediaMessageCallbacks.get(messageId);
@@ -113,7 +113,7 @@ export default class Media {
, errorCallback
]);
- this._sendMessage("bridge:bridgemedia/sendMediaMessage", {
+ this._sendMessage("bridge:/media/sendMediaMessage", {
message
, messageId
});
diff --git a/ext/webpack.config.js b/ext/webpack.config.js
index 3a34999..55a6ec0 100755
--- a/ext/webpack.config.js
+++ b/ext/webpack.config.js
@@ -14,7 +14,6 @@ module.exports = (env) => ({
, "contentSetup" : `${env.includePath}/contentSetup.js`
, "mediaCast" : `${env.includePath}/mediaCast.js`
, "mirroringCast" : `${env.includePath}/mirroringCast.js`
- , "messageRouter" : `${env.includePath}/messageRouter.js`
, "compat/youtube" : `${env.includePath}/compat/youtube.js`
}
, output: {