fix(ui): fix css rewriter regexp string

This commit is contained in:
nick-delirium 2023-09-12 12:44:28 +02:00
parent b54555b4a0
commit c415b26bc5
2 changed files with 5 additions and 7 deletions

View file

@ -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)
}

View file

@ -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);