layout: Improve the rendering of the <marquee> element (#43520)

The change makes it so that `<marquee>` elements render more like the do
in Chrome. The text will not animate, but likewise it does not wrap and
the element will stretch to fill the inline space in its containing
block.

Testing: This change adds a Servo-specific appearance test. This
essentially
just replicates the user agent style of `<marquee>`. It's quite
difficult to
write tests for appearance. Some WPT tests start to pass, but

`/html/obsolete/requirements-for-implementations/the-marquee-element-0/marquee-min-intrinsic-size.html`
starts to fail. This is due to the fact that though the `<marquee>`
style
is improved, we do not yet correctly handle the minimum intrinsic size
properly.
Fixes: #43517

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
Martin Robinson
2026-03-21 13:07:20 +01:00
committed by GitHub
parent 09b0cfce8e
commit ce1d27337a
8 changed files with 109 additions and 11 deletions

View File

@@ -269,6 +269,19 @@
{}
]
],
"marquee.html": [
"4a5b8a6d16d85dcf6b74e704c55231dddee26e0b",
[
null,
[
[
"/_mozilla/appearance/marquee-ref.html",
"=="
]
],
{}
]
],
"text-advance-less-than-ink-clipping.html": [
"a726bd2881ff7cb29a9e68f8e7f1fae728b9382e",
[
@@ -8360,6 +8373,10 @@
"ee442170edc3543c2838be3ef4edf78d1aae4753",
[]
],
"marquee-ref.html": [
"3bbe99f30eba1dfeda637b2e44e21d366c7fda6f",
[]
],
"supports": {
"input-textual-ref.css": [
"e16996804cc90ab9d95ba7a2feb6869f6213215c",