prettier: Re-format .ts files

This commit is contained in:
hensm
2021-08-31 08:28:23 +01:00
parent d6ca1325dc
commit 41d8edcab4
82 changed files with 2683 additions and 2532 deletions

View File

@@ -5,21 +5,23 @@ import options from "../lib/options";
import { getChromeUserAgent } from "../lib/userAgents";
import { CAST_FRAMEWORK_LOADER_SCRIPT_URL
, CAST_LOADER_SCRIPT_URL } from "../lib/endpoints";
import {
CAST_FRAMEWORK_LOADER_SCRIPT_URL,
CAST_LOADER_SCRIPT_URL
} from "../lib/endpoints";
// Missing on @types/firefox-webext-browser
type OnBeforeSendHeadersDetails = Parameters<Parameters<
typeof browser.webRequest.onBeforeSendHeaders.addListener>[0]>[0] & {
frameAncestors?: Array<{ url: string, frameId: number }>
type OnBeforeSendHeadersDetails = Parameters<
Parameters<typeof browser.webRequest.onBeforeSendHeaders.addListener>[0]
>[0] & {
frameAncestors?: Array<{ url: string; frameId: number }>;
};
type OnBeforeRequestDetails = Parameters<Parameters<
typeof browser.webRequest.onBeforeRequest.addListener>[0]>[0] & {
frameAncestors?: Array<{ url: string, frameId: number }>
type OnBeforeRequestDetails = Parameters<
Parameters<typeof browser.webRequest.onBeforeRequest.addListener>[0]
>[0] & {
frameAncestors?: Array<{ url: string; frameId: number }>;
};
const originUrlCache: string[] = [];
let platform: string;
@@ -51,40 +53,43 @@ export async function initWhitelist() {
options.addEventListener("changed", ev => {
const alteredOpts = ev.detail;
if (alteredOpts.includes("userAgentWhitelist")
|| alteredOpts.includes("userAgentWhitelistEnabled")) {
if (
alteredOpts.includes("userAgentWhitelist") ||
alteredOpts.includes("userAgentWhitelistEnabled")
) {
unregisterUserAgentWhitelist();
registerUserAgentWhitelist();
}
});
}
/**
* Web apps usually only load the sender library and
* provide cast functionality if the browser is detected
* as Chrome, so we should rewrite the User-Agent header
* to reflect this on whitelisted sites.
*/
async function onWhitelistedBeforeSendHeaders(
details: OnBeforeSendHeadersDetails) {
async function onWhitelistedBeforeSendHeaders(
details: OnBeforeSendHeadersDetails
) {
if (!details.requestHeaders) {
throw logger.error("OnBeforeSendHeaders handler details missing requestHeaders.");
throw logger.error(
"OnBeforeSendHeaders handler details missing requestHeaders."
);
}
if (details.originUrl && !originUrlCache.includes(details.originUrl)) {
originUrlCache.push(details.originUrl);
}
const host = details.requestHeaders.find(
header => header.name === "Host");
const host = details.requestHeaders.find(header => header.name === "Host");
for (const header of details.requestHeaders) {
if (header.name === "User-Agent") {
header.value = host?.value === "www.youtube.com"
? chromeUserAgentHybrid
: chromeUserAgent;
header.value =
host?.value === "www.youtube.com"
? chromeUserAgentHybrid
: chromeUserAgent;
break;
}
}
@@ -101,8 +106,8 @@ export async function initWhitelist() {
* main site is whitelisted.
*/
function onWhitelistedChildBeforeSendHeaders(
details: OnBeforeSendHeadersDetails) {
details: OnBeforeSendHeadersDetails
) {
if (!details.requestHeaders || !details.frameAncestors) {
return;
}
@@ -110,13 +115,15 @@ function onWhitelistedChildBeforeSendHeaders(
for (const ancestor of details.frameAncestors) {
if (originUrlCache.includes(ancestor.url)) {
const host = details.requestHeaders.find(
header => header.name === "Host");
header => header.name === "Host"
);
for (const header of details.requestHeaders) {
if (header.name === "User-Agent") {
header.value = host?.value === "www.youtube.com"
? chromeUserAgentHybrid
: chromeUserAgent;
header.value =
host?.value === "www.youtube.com"
? chromeUserAgentHybrid
: chromeUserAgent;
break;
}
}
@@ -128,7 +135,6 @@ function onWhitelistedChildBeforeSendHeaders(
}
}
/**
* Sender applications load a cast_sender.js script that
* functions as a loader for the internal chrome-extension:
@@ -165,16 +171,17 @@ async function onBeforeCastSDKRequest(details: OnBeforeRequestDetails) {
await browser.tabs.executeScript(details.tabId, {
code: `
window.isFramework = ${
details.url === CAST_FRAMEWORK_LOADER_SCRIPT_URL};
`
, frameId: details.frameId
, runAt: "document_start"
details.url === CAST_FRAMEWORK_LOADER_SCRIPT_URL
};
`,
frameId: details.frameId,
runAt: "document_start"
});
await browser.tabs.executeScript(details.tabId, {
file: "shim/contentBridge.js"
, frameId: details.frameId
, runAt: "document_start"
file: "shim/contentBridge.js",
frameId: details.frameId,
runAt: "document_start"
});
return {
@@ -182,40 +189,41 @@ async function onBeforeCastSDKRequest(details: OnBeforeRequestDetails) {
};
}
async function registerUserAgentWhitelist() {
const { userAgentWhitelist
, userAgentWhitelistEnabled } = await options.getAll();
const { userAgentWhitelist, userAgentWhitelistEnabled } =
await options.getAll();
browser.webRequest.onBeforeRequest.addListener(
onBeforeCastSDKRequest
, { urls: [
CAST_LOADER_SCRIPT_URL
, CAST_FRAMEWORK_LOADER_SCRIPT_URL ]}
, [ "blocking" ]);
onBeforeCastSDKRequest,
{ urls: [CAST_LOADER_SCRIPT_URL, CAST_FRAMEWORK_LOADER_SCRIPT_URL] },
["blocking"]
);
if (!userAgentWhitelistEnabled || !userAgentWhitelist.length) {
return;
}
browser.webRequest.onBeforeSendHeaders.addListener(
onWhitelistedBeforeSendHeaders
, { urls: userAgentWhitelist }
, [ "blocking", "requestHeaders" ]);
onWhitelistedBeforeSendHeaders,
{ urls: userAgentWhitelist },
["blocking", "requestHeaders"]
);
browser.webRequest.onBeforeSendHeaders.addListener(
onWhitelistedChildBeforeSendHeaders
, { urls: [ "<all_urls>" ]}
, [ "blocking", "requestHeaders" ]);
onWhitelistedChildBeforeSendHeaders,
{ urls: ["<all_urls>"] },
["blocking", "requestHeaders"]
);
}
function unregisterUserAgentWhitelist() {
originUrlCache.length = 0;
browser.webRequest.onBeforeSendHeaders
.removeListener(onWhitelistedBeforeSendHeaders);
browser.webRequest.onBeforeSendHeaders
.removeListener(onWhitelistedChildBeforeSendHeaders);
browser.webRequest.onBeforeRequest
.removeListener(onBeforeCastSDKRequest);
browser.webRequest.onBeforeSendHeaders.removeListener(
onWhitelistedBeforeSendHeaders
);
browser.webRequest.onBeforeSendHeaders.removeListener(
onWhitelistedChildBeforeSendHeaders
);
browser.webRequest.onBeforeRequest.removeListener(onBeforeCastSDKRequest);
}