From 95d9d3a4125e05f3222daf9b46cfc66e7a2545f0 Mon Sep 17 00:00:00 2001 From: Oriol Brufau Date: Wed, 2 Jul 2025 11:52:00 +0200 Subject: [PATCH] script: Only enforce rowSpan >= 1 in actual quirks mode (#37820) We were also enforcing that in limited-quirks mode, but no other browser does that. In fact, Blink and WebKit don't have this quirk at all, so we should consider removing it too, but for now restrict it to quirks mode like Firefox. Testing: adding new tests Part of #37813 Signed-off-by: Oriol Brufau --- components/script/dom/htmltablecellelement.rs | 2 +- tests/wpt/meta/MANIFEST.json | 4 ++-- .../css-tables/tentative/table-limited-quirks.html | 11 +++++++++++ .../tests/css/css-tables/tentative/table-quirks.html | 12 ++++++++++++ 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/components/script/dom/htmltablecellelement.rs b/components/script/dom/htmltablecellelement.rs index ba6dc39d09d..4dbfc97e588 100644 --- a/components/script/dom/htmltablecellelement.rs +++ b/components/script/dom/htmltablecellelement.rs @@ -210,7 +210,7 @@ impl VirtualMethods for HTMLTableCellElement { // > the range [0, 65534], and its default value is 1. // Note that rowspan = 0 is not supported in quirks mode. let document = self.upcast::().owner_doc(); - if document.quirks_mode() != QuirksMode::NoQuirks { + if document.quirks_mode() == QuirksMode::Quirks { *value = (*value).clamp(1, 65534); } else { *value = (*value).clamp(0, 65534); diff --git a/tests/wpt/meta/MANIFEST.json b/tests/wpt/meta/MANIFEST.json index 9398a251cec..39a9e8468c0 100644 --- a/tests/wpt/meta/MANIFEST.json +++ b/tests/wpt/meta/MANIFEST.json @@ -611776,7 +611776,7 @@ ] ], "table-limited-quirks.html": [ - "4deb7a93898aea084b0de1ffcee942ca889e8c9d", + "9f44d285510c22449263bc99a6afa1203cae6896", [ null, {} @@ -611790,7 +611790,7 @@ ] ], "table-quirks.html": [ - "35c091095500e29112029d23a55a020a763631ef", + "dcf6c084eda46d58b065f54cc05dde59682abbee", [ null, {} diff --git a/tests/wpt/tests/css/css-tables/tentative/table-limited-quirks.html b/tests/wpt/tests/css/css-tables/tentative/table-limited-quirks.html index 4deb7a93898..9f44d285510 100644 --- a/tests/wpt/tests/css/css-tables/tentative/table-limited-quirks.html +++ b/tests/wpt/tests/css/css-tables/tentative/table-limited-quirks.html @@ -65,6 +65,14 @@ +

The "let cell grows downward be false" quirk does NOT apply to limited-quirks mode

+ + + + + +
208 height
+ diff --git a/tests/wpt/tests/css/css-tables/tentative/table-quirks.html b/tests/wpt/tests/css/css-tables/tentative/table-quirks.html index 35c09109550..dcf6c084eda 100644 --- a/tests/wpt/tests/css/css-tables/tentative/table-quirks.html +++ b/tests/wpt/tests/css/css-tables/tentative/table-quirks.html @@ -63,6 +63,15 @@ +

The "let cell grows downward be false" quirk

+

Chrome LayoutNG and Safari ignore the quirk, FF does not.

+ + + + + +
100 height
+