LibWeb: Fix two problems where media queries didn't invalidate properly

There were two things going wrong here:

- Transformed text (via CSS text-transform) was not invalidated after a
  `@media` rule changed state.

- Removing the `style` attribute from an element didn't trigger a style
  update.

This fixes the regression in subtest 46 of Acid3.

Fixes #21777
This commit is contained in:
Andreas Kling 2024-04-17 11:33:41 +02:00
commit 41667f969d
Notes: sideshowbarker 2024-07-17 07:06:47 +09:00
4 changed files with 29 additions and 1 deletions

View file

@ -0,0 +1,25 @@
<!doctype html>
<style>
iframe {
width: 0;
height: 0;
border: 1px solid black;
}
</style>
<script src="../include.js"></script>
<body><iframe id="i1"></iframe>
<script>
asyncTest((done) => {
i1.srcdoc = `
<style>
@media all and (min-height: 1px) { #y1 { text-transform: uppercase; } }
</style><div id=y1>transformed text</div><script>document.body.offsetWidth</` + `script>`;
i1.onload = function() {
i1.setAttribute("style", "height: 100px; width: 100px");
println(i1.contentDocument.body.innerText);
i1.removeAttribute("style");
println(i1.contentDocument.body.innerText);
done();
};
});
</script>