Improve external media removal in style blocks

This commit is contained in:
Cohee 2024-05-27 13:43:59 +03:00
parent 2c049e5611
commit 99e09f0b91

View File

@ -463,6 +463,7 @@ export function encodeStyleTags(text) {
*/
export function decodeStyleTags(text) {
const styleDecodeRegex = /<custom-style>(.+?)<\/custom-style>/gms;
const mediaAllowed = isExternalMediaAllowed();
return text.replaceAll(styleDecodeRegex, (_, style) => {
try {
@ -491,6 +492,13 @@ export function decodeStyleTags(text) {
}
}
}
if (!mediaAllowed && Array.isArray(rule.declarations) && rule.declarations.length > 0) {
for (const declaration of rule.declarations) {
if (declaration.value.includes('://')) {
rule.declarations.splice(rule.declarations.indexOf(declaration), 1);
}
}
}
}
}
}