diff --git a/frontend/app/player/web/managers/DOM/StylesManager.ts b/frontend/app/player/web/managers/DOM/StylesManager.ts index 92f51aed9..4ee22b3fd 100644 --- a/frontend/app/player/web/managers/DOM/StylesManager.ts +++ b/frontend/app/player/web/managers/DOM/StylesManager.ts @@ -1,16 +1,13 @@ import type Screen from '../../Screen/Screen'; -import type { CssInsertRule, CssDeleteRule } from '../../messages'; import { replaceCSSPseudoclasses } from '../../messages/rewriter/rewriteMessage' -type CSSRuleMessage = CssInsertRule | CssDeleteRule; - // Doesn't work with css files (hasOwnProperty returns false) // TODO: recheck and remove if true function rewriteNodeStyleSheet(doc: Document, node: HTMLLinkElement | HTMLStyleElement) { const ss = Object.values(doc.styleSheets).find(s => s.ownerNode === node); if (!ss || !ss.hasOwnProperty('rules')) { return; } - for(let i = 0; i < ss.rules.length; i++){ - const r = ss.rules[i] + for(let i = 0; i < ss.cssRules.length; i++){ + const r = ss.cssRules[i] if (r instanceof CSSStyleRule) { r.selectorText = replaceCSSPseudoclasses(r.selectorText) } diff --git a/frontend/app/player/web/messages/rewriter/urlResolve.ts b/frontend/app/player/web/messages/rewriter/urlResolve.ts index 6f76d6d15..47f74b36b 100644 --- a/frontend/app/player/web/messages/rewriter/urlResolve.ts +++ b/frontend/app/player/web/messages/rewriter/urlResolve.ts @@ -5,9 +5,10 @@ export function resolveURL(baseURL: string, relURL: string): string { return new URL(relURL, baseURL).toString(); } - +// url("url") or url('url') or url(url) const re1 = /url\(("[^"]*"|'[^']*'|[^)]*)\)/g -const re2 = /@import "(.*?)"/g +// @import "url" or @import 'url' +const re2 = /@import (["'])(.*?)\1/g function cssUrlsIndex(css: string): Array<[number, number]> { const idxs: Array<[number, number]> = []; const i1 = css.matchAll(re1);