mirror of
https://github.com/hensm/fx_cast.git
synced 2026-06-11 18:19:58 +00:00
Rename ReceiverSelectorManager -> ReceiverSelector
This commit is contained in:
@@ -11,10 +11,10 @@ import options from "./lib/options";
|
|||||||
import { getChromeUserAgent } from "./lib/userAgents";
|
import { getChromeUserAgent } from "./lib/userAgents";
|
||||||
import { getWindowCenteredProps } from "./lib/utils";
|
import { getWindowCenteredProps } from "./lib/utils";
|
||||||
|
|
||||||
import { getReceiverSelectorManager
|
import { getReceiverSelector
|
||||||
, ReceiverSelectorManagerType
|
, ReceiverSelectorType
|
||||||
, ReceiverSelectorMediaType
|
, ReceiverSelectorMediaType
|
||||||
, ReceiverSelectorSelectedEvent } from "./receiverSelectorManager";
|
, ReceiverSelectorSelectedEvent } from "./receiver_selectors";
|
||||||
|
|
||||||
import { Message, Receiver } from "./types";
|
import { Message, Receiver } from "./types";
|
||||||
|
|
||||||
@@ -452,7 +452,7 @@ browser.menus.onClicked.addListener(async (info, tab) => {
|
|||||||
|
|
||||||
// Load mirroring sender app
|
// Load mirroring sender app
|
||||||
await browser.tabs.executeScript(tab.id, {
|
await browser.tabs.executeScript(tab.id, {
|
||||||
file: "mirroringCast.js"
|
file: "senders/mirroringCast.js"
|
||||||
, frameId
|
, frameId
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -472,7 +472,7 @@ browser.menus.onClicked.addListener(async (info, tab) => {
|
|||||||
|
|
||||||
// Load media sender app
|
// Load media sender app
|
||||||
await browser.tabs.executeScript(tab.id, {
|
await browser.tabs.executeScript(tab.id, {
|
||||||
file: "mediaCast.js"
|
file: "senders/mediaCast.js"
|
||||||
, frameId
|
, frameId
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -641,11 +641,11 @@ async function onConnectShim (port: browser.runtime.Port) {
|
|||||||
|
|
||||||
const { os } = await browser.runtime.getPlatformInfo();
|
const { os } = await browser.runtime.getPlatformInfo();
|
||||||
|
|
||||||
const receiverSelectorManager = getReceiverSelectorManager(os === "mac"
|
const receiverSelector = getReceiverSelector(os === "mac"
|
||||||
? ReceiverSelectorManagerType.NativeMac
|
? ReceiverSelectorType.NativeMac
|
||||||
: ReceiverSelectorManagerType.Popup);
|
: ReceiverSelectorType.Popup);
|
||||||
|
|
||||||
function onReceiverSelectorManagerSelected (
|
function onReceiverSelectorSelected (
|
||||||
ev: ReceiverSelectorSelectedEvent) {
|
ev: ReceiverSelectorSelectedEvent) {
|
||||||
|
|
||||||
port.postMessage({
|
port.postMessage({
|
||||||
@@ -654,33 +654,33 @@ async function onConnectShim (port: browser.runtime.Port) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function onReceiverSelectorManagerCancelled () {
|
function onReceiverSelectorCancelled () {
|
||||||
port.postMessage({
|
port.postMessage({
|
||||||
subject: "shim:/selectReceiverCancelled"
|
subject: "shim:/selectReceiverCancelled"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function onReceiverSelectorManagerError () {
|
function onReceiverSelectorError () {
|
||||||
// TODO: Report errors properly
|
// TODO: Report errors properly
|
||||||
port.postMessage({
|
port.postMessage({
|
||||||
subject: "shim:/selectReceiverCancelled"
|
subject: "shim:/selectReceiverCancelled"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
receiverSelectorManager.addEventListener("selected"
|
receiverSelector.addEventListener("selected"
|
||||||
, onReceiverSelectorManagerSelected);
|
, onReceiverSelectorSelected);
|
||||||
receiverSelectorManager.addEventListener("cancelled"
|
receiverSelector.addEventListener("cancelled"
|
||||||
, onReceiverSelectorManagerCancelled);
|
, onReceiverSelectorCancelled);
|
||||||
receiverSelectorManager.addEventListener("error"
|
receiverSelector.addEventListener("error"
|
||||||
, onReceiverSelectorManagerError);
|
, onReceiverSelectorError);
|
||||||
|
|
||||||
port.onDisconnect.addListener(() => {
|
port.onDisconnect.addListener(() => {
|
||||||
receiverSelectorManager.removeEventListener("selected"
|
receiverSelector.removeEventListener("selected"
|
||||||
, onReceiverSelectorManagerSelected);
|
, onReceiverSelectorSelected);
|
||||||
receiverSelectorManager.removeEventListener("cancelled"
|
receiverSelector.removeEventListener("cancelled"
|
||||||
, onReceiverSelectorManagerCancelled);
|
, onReceiverSelectorCancelled);
|
||||||
receiverSelectorManager.removeEventListener("error"
|
receiverSelector.removeEventListener("error"
|
||||||
, onReceiverSelectorManagerError);
|
, onReceiverSelectorError);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -756,12 +756,12 @@ async function onConnectShim (port: browser.runtime.Port) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
case "main:/sessionCreated": {
|
case "main:/sessionCreated": {
|
||||||
receiverSelectorManager.close();
|
receiverSelector.close();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case "main:/selectReceiverBegin": {
|
case "main:/selectReceiverBegin": {
|
||||||
receiverSelectorManager.open(
|
receiverSelector.open(
|
||||||
Array.from(statusBridgeReceivers.values())
|
Array.from(statusBridgeReceivers.values())
|
||||||
, message.data.defaultMediaType);
|
, message.data.defaultMediaType);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import NativeMacReceiverSelectorManager
|
|
||||||
from "./selectorManagers/NativeMacReceiverSelectorManager";
|
|
||||||
import PopupReceiverSelectorManager
|
|
||||||
from "./selectorManagers/PopupReceiverSelectorManager";
|
|
||||||
|
|
||||||
|
|
||||||
export { ReceiverSelection
|
|
||||||
, ReceiverSelectorCancelledEvent
|
|
||||||
, ReceiverSelectorErrorEvent
|
|
||||||
, ReceiverSelectorMediaType
|
|
||||||
, ReceiverSelectorSelectedEvent } from "./ReceiverSelectorManager";
|
|
||||||
|
|
||||||
|
|
||||||
export enum ReceiverSelectorManagerType {
|
|
||||||
Popup
|
|
||||||
, NativeMac
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getReceiverSelectorManager (
|
|
||||||
type: ReceiverSelectorManagerType) {
|
|
||||||
|
|
||||||
switch (type) {
|
|
||||||
case ReceiverSelectorManagerType.Popup: {
|
|
||||||
return new PopupReceiverSelectorManager();
|
|
||||||
}
|
|
||||||
case ReceiverSelectorManagerType.NativeMac: {
|
|
||||||
return new NativeMacReceiverSelectorManager();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,24 +1,24 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
import nativeMessaging from "../../lib/nativeMessaging";
|
import nativeMessaging from "../lib/nativeMessaging";
|
||||||
import options from "../../lib/options";
|
import options from "../lib/options";
|
||||||
|
|
||||||
import ReceiverSelectorManager, {
|
import ReceiverSelector, {
|
||||||
ReceiverSelectorMediaType } from "../ReceiverSelectorManager";
|
ReceiverSelectorMediaType } from "./ReceiverSelector";
|
||||||
|
|
||||||
import { Message, Receiver } from "../../types";
|
import { Message, Receiver } from "../types";
|
||||||
|
|
||||||
import { NativeReceiverSelectorCloseMessage
|
import { NativeReceiverSelectorCloseMessage
|
||||||
, NativeReceiverSelectorErrorMessage
|
, NativeReceiverSelectorErrorMessage
|
||||||
, NativeReceiverSelectorSelectedMessage } from "../../messageTypes";
|
, NativeReceiverSelectorSelectedMessage } from "../messageTypes";
|
||||||
|
|
||||||
|
|
||||||
const _ = browser.i18n.getMessage;
|
const _ = browser.i18n.getMessage;
|
||||||
|
|
||||||
|
|
||||||
export default class NativeMacReceiverSelectorManager
|
export default class NativeMacReceiverSelector
|
||||||
extends EventTarget
|
extends EventTarget
|
||||||
implements ReceiverSelectorManager {
|
implements ReceiverSelector {
|
||||||
|
|
||||||
private bridgePort: browser.runtime.Port;
|
private bridgePort: browser.runtime.Port;
|
||||||
private bridgePortDisconnected: boolean = false;
|
private bridgePortDisconnected: boolean = false;
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
import ReceiverSelectorManager, {
|
import ReceiverSelector, {
|
||||||
ReceiverSelectorMediaType } from "../ReceiverSelectorManager";
|
ReceiverSelectorMediaType } from "./ReceiverSelector";
|
||||||
|
|
||||||
import { getWindowCenteredProps } from "../../lib/utils";
|
import { getWindowCenteredProps } from "../lib/utils";
|
||||||
import { Message, Receiver } from "../../types";
|
import { Message, Receiver } from "../types";
|
||||||
|
|
||||||
|
|
||||||
export default class PopupReceiverSelectorManager
|
export default class PopupReceiverSelector
|
||||||
extends EventTarget
|
extends EventTarget
|
||||||
implements ReceiverSelectorManager {
|
implements ReceiverSelector {
|
||||||
|
|
||||||
private windowId: number;
|
private windowId: number;
|
||||||
private openerWindowId: number;
|
private openerWindowId: number;
|
||||||
@@ -104,7 +104,7 @@ export default class PopupReceiverSelectorManager
|
|||||||
*/
|
*/
|
||||||
private onPopupMessage (message: Message) {
|
private onPopupMessage (message: Message) {
|
||||||
switch (message.subject) {
|
switch (message.subject) {
|
||||||
case "receiverSelectorManager:/selected": {
|
case "receiverSelector:/selected": {
|
||||||
this.wasReceiverSelected = true;
|
this.wasReceiverSelected = true;
|
||||||
this.dispatchEvent(new CustomEvent("selected", {
|
this.dispatchEvent(new CustomEvent("selected", {
|
||||||
detail: message.data
|
detail: message.data
|
||||||
@@ -19,7 +19,7 @@ export type ReceiverSelectorErrorEvent = CustomEvent;
|
|||||||
export type ReceiverSelectorCancelledEvent = CustomEvent;
|
export type ReceiverSelectorCancelledEvent = CustomEvent;
|
||||||
|
|
||||||
|
|
||||||
export default interface ReceiverSelectorManager extends EventTarget {
|
export default interface ReceiverSelector extends EventTarget {
|
||||||
open (receivers: Receiver[]
|
open (receivers: Receiver[]
|
||||||
, defaultMediaType: ReceiverSelectorMediaType): void;
|
, defaultMediaType: ReceiverSelectorMediaType): void;
|
||||||
|
|
||||||
32
ext/src/receiver_selectors/index.ts
Normal file
32
ext/src/receiver_selectors/index.ts
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
import NativeMacReceiverSelector
|
||||||
|
from "./NativeMacReceiverSelector";
|
||||||
|
import PopupReceiverSelector
|
||||||
|
from "./PopupReceiverSelector";
|
||||||
|
|
||||||
|
|
||||||
|
export { ReceiverSelection
|
||||||
|
, ReceiverSelectorCancelledEvent
|
||||||
|
, ReceiverSelectorErrorEvent
|
||||||
|
, ReceiverSelectorMediaType
|
||||||
|
, ReceiverSelectorSelectedEvent } from "./ReceiverSelector";
|
||||||
|
|
||||||
|
|
||||||
|
export enum ReceiverSelectorType {
|
||||||
|
Popup
|
||||||
|
, NativeMac
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getReceiverSelector (
|
||||||
|
type: ReceiverSelectorType) {
|
||||||
|
|
||||||
|
switch (type) {
|
||||||
|
case ReceiverSelectorType.Popup: {
|
||||||
|
return new PopupReceiverSelector();
|
||||||
|
}
|
||||||
|
case ReceiverSelectorType.NativeMac: {
|
||||||
|
return new NativeMacReceiverSelector();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
import { ReceiverSelectorMediaType }
|
import { ReceiverSelectorMediaType }
|
||||||
from "./receiverSelectorManager/ReceiverSelectorManager":
|
from "../receiver_selectors/ReceiverSelector":
|
||||||
|
|
||||||
let chrome;
|
let chrome;
|
||||||
let logMessage;
|
let logMessage;
|
||||||
@@ -7,7 +7,7 @@ import { AutoJoinPolicy
|
|||||||
, DefaultActionPolicy } from "../enums";
|
, DefaultActionPolicy } from "../enums";
|
||||||
|
|
||||||
import { ReceiverSelectorMediaType }
|
import { ReceiverSelectorMediaType }
|
||||||
from "../../../receiverSelectorManager/ReceiverSelectorManager";
|
from "../../../receiver_selectors/ReceiverSelector";
|
||||||
|
|
||||||
|
|
||||||
export default class ApiConfig {
|
export default class ApiConfig {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { getNextEllipsis } from "../../lib/utils";
|
|||||||
import { Message, Receiver } from "../../types";
|
import { Message, Receiver } from "../../types";
|
||||||
|
|
||||||
import { ReceiverSelectorMediaType }
|
import { ReceiverSelectorMediaType }
|
||||||
from "../../receiverSelectorManager/ReceiverSelectorManager";
|
from "../../receiver_selectors/ReceiverSelector";
|
||||||
|
|
||||||
|
|
||||||
const _ = browser.i18n.getMessage;
|
const _ = browser.i18n.getMessage;
|
||||||
@@ -134,7 +134,7 @@ class PopupApp extends Component<{}, PopupAppState> {
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.port.postMessage({
|
this.port.postMessage({
|
||||||
subject: "receiverSelectorManager:/selected"
|
subject: "receiverSelector:/selected"
|
||||||
, data: {
|
, data: {
|
||||||
receiver
|
receiver
|
||||||
, mediaType: this.state.mediaType
|
, mediaType: this.state.mediaType
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ module.exports = (env) => ({
|
|||||||
, "ui/updater/bundle": `${env.includePath}/ui/updater/index.tsx`
|
, "ui/updater/bundle": `${env.includePath}/ui/updater/index.tsx`
|
||||||
|
|
||||||
// Sender apps
|
// Sender apps
|
||||||
, "mediaCast": `${env.includePath}/mediaCast.js`
|
, "senders/mediaCast": `${env.includePath}/senders/mediaCast.js`
|
||||||
, "mirroringCast": `${env.includePath}/mirroringCast.js`
|
, "senders/mirroringCast": `${env.includePath}/senders/mirroringCast.js`
|
||||||
|
|
||||||
// Shim entries
|
// Shim entries
|
||||||
, "shim/bundle": `${env.includePath}/shim/index.ts`
|
, "shim/bundle": `${env.includePath}/shim/index.ts`
|
||||||
|
|||||||
Reference in New Issue
Block a user