LibWeb: Let style elements remember which StyleSheetList they live in

Instead of trying to locate the relevant StyleSheetList on style element
removal from the DOM, we now simply keep a pointer to the list instead.

This fixes an issue where using attachShadow() on an element that had
a declarative shadow DOM would cause any style elements present to use
the wrong StyleSheetList when removing themselves from the tree.
This commit is contained in:
Andreas Kling 2024-09-21 08:11:49 +02:00 committed by Andreas Kling
commit 8543b8ad6a
Notes: github-actions[bot] 2024-09-21 06:56:52 +00:00
6 changed files with 30 additions and 25 deletions

View file

@ -0,0 +1,9 @@
<div id="hmmst"><template shadowrootmode="open"><div><style></style></div></template></div>
<script src="../include.js"></script>
<script>
test(() => {
hmmst.attachShadow({ mode: "open" });
println("PASS (didn't crash)");
hmmst.remove();
});
</script>