fix: fix trustedHTML issue

- (Maybe) fix #2339, caused by YouTube's A/B testing
This commit is contained in:
JellyBrick
2024-09-17 20:05:22 +09:00
parent dbb9e95b32
commit d5a5ed35b6
4 changed files with 19 additions and 0 deletions

View File

@ -23,6 +23,14 @@ let isPluginLoaded = false;
let isApiLoaded = false;
let firstDataLoaded = false;
if (window.trustedTypes && window.trustedTypes.createPolicy && !window.trustedTypes.defaultPolicy) {
window.trustedTypes.createPolicy('default', {
createHTML: (input) => input,
createScriptURL: (input) => input,
createScript: (input) => input,
});
}
async function listenForApiLoad() {
if (!isApiLoaded) {
api = document.querySelector('#movie_player');

2
src/reset.d.ts vendored
View File

@ -6,6 +6,7 @@ import type is from 'electron-is';
import type config from './config';
import type { VideoDataChanged } from '@/types/video-data-changed';
import type { t } from '@/i18n';
import type { trustedTypes } from 'trusted-types';
declare global {
interface Compressor {
@ -19,6 +20,7 @@ declare global {
}
interface Window {
trustedTypes?: typeof trustedTypes;
ipcRenderer: typeof electronIpcRenderer;
mainConfig: typeof config;
electronIs: typeof is;