LibWeb: Don't apply disabled adopted style sheets to the document

Previously, we would apply any adopted style sheet to the document if
its alternate flag was not set. This meant that all adopted style
sheets would be applied, since constructed style sheets never have this
flag set.
This commit is contained in:
Tim Ledbetter 2024-04-28 16:21:25 +01:00 committed by Andreas Kling
commit f4e0c5395a
Notes: sideshowbarker 2024-07-17 17:06:59 +09:00
3 changed files with 22 additions and 1 deletions

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<script src="../include.js"></script>
<script>
test(() => {
function constructedStyleSheetAppliesToDocument(options) {
const textDiv = document.createElement("div");
document.body.appendChild(textDiv);
const sheet = new CSSStyleSheet(options);
const newColor = "rgb(0, 128, 0)";
sheet.replaceSync(`div { color: ${newColor}; }`);
document.adoptedStyleSheets = [sheet];
const styleSheetAppliedToDocument = getComputedStyle(textDiv).color === newColor;
document.body.removeChild(textDiv);
document.adoptedStyleSheets = [];
return styleSheetAppliedToDocument;
}
println(`Disabled constructed style sheet applies to document: ${constructedStyleSheetAppliesToDocument({ disabled: true })}`);
});
</script>