From 0f2139be27f99919c46982f981e8bf68eb6be050 Mon Sep 17 00:00:00 2001 From: Martin Robinson Date: Thu, 4 Jul 2024 23:08:02 +0200 Subject: [PATCH] layout_2013: Remove code preventing writing mode assertion failures (#32698) It's actually kind of useful that this code crashes, as it points out a problem. Additionally, we aren't going to be maintaining Layout 2013 any longer so it is very unlikely that these bugs will ever be fixed. This allows us to reduce our diff with upstream Stylo. Closes #30577. --- components/layout/floats.rs | 4 +--- components/layout/fragment.rs | 4 +--- components/layout/inline.rs | 5 +---- .../css/css-logical/logical-values-float-clear-3.html.ini | 2 +- .../css/css-logical/logical-values-float-clear-4.html.ini | 2 +- .../vlr-ltr-rtl-in-multicol.tentative.html.ini | 2 +- .../vlr-rtl-ltr-in-multicol.tentative.html.ini | 2 +- .../vrl-ltr-rtl-in-multicol.tentative.html.ini | 2 +- .../vrl-rtl-ltr-in-multicol.tentative.html.ini | 2 +- .../multicol/vlr-ltr-rtl-in-multicols.tentative.html.ini | 2 +- .../multicol/vlr-rtl-ltr-in-multicols.tentative.html.ini | 2 +- .../multicol/vrl-ltr-rtl-in-multicols.tentative.html.ini | 2 +- .../multicol/vrl-rtl-ltr-in-multicols.tentative.html.ini | 2 +- .../static-position/htb-ltr-rtl.tentative.html.ini | 2 +- .../static-position/htb-rtl-ltr.tentative.html.ini | 2 +- .../static-position/vlr-ltr-rtl.tentative.html.ini | 2 +- .../static-position/vlr-rtl-ltr.tentative.html.ini | 2 +- .../static-position/vrl-ltr-rtl.tentative.html.ini | 2 +- .../static-position/vrl-rtl-ltr.tentative.html.ini | 2 +- 19 files changed, 19 insertions(+), 26 deletions(-) diff --git a/components/layout/floats.rs b/components/layout/floats.rs index 087b0bb6d6c..055d883e28c 100644 --- a/components/layout/floats.rs +++ b/components/layout/floats.rs @@ -163,9 +163,7 @@ impl Floats { /// Adjusts the recorded offset of the flow relative to the first float. pub fn translate(&mut self, delta: LogicalSize) { - // TODO(servo#30577) revert once underlying bug is fixed - // self.offset = self.offset + delta - self.offset = self.offset.add_or_warn(delta) + self.offset = self.offset + delta } /// Returns the position of the last float in flow coordinates. diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs index 967bdfb1df3..d206f8b6bdf 100644 --- a/components/layout/fragment.rs +++ b/components/layout/fragment.rs @@ -1505,9 +1505,7 @@ impl Fragment { if let Some(ref inline_fragment_context) = self.inline_context { for node in &inline_fragment_context.nodes { if node.style.get_box().position == Position::Relative { - // TODO(servo#30577) revert once underlying bug is fixed - // rel_pos = rel_pos + from_style(&*node.style, containing_block_size); - rel_pos = rel_pos.add_or_warn(from_style(&node.style, containing_block_size)); + rel_pos = rel_pos + from_style(&*node.style, containing_block_size); } } } diff --git a/components/layout/inline.rs b/components/layout/inline.rs index e6da98ccee8..03e5fc8b01f 100644 --- a/components/layout/inline.rs +++ b/components/layout/inline.rs @@ -1771,10 +1771,7 @@ impl Flow for InlineFlow { first_fragment.style.logical_border_width()) .start; containing_block_positions.push( - // TODO(servo#30577) revert once underlying bug is fixed - // padding_box_origin.to_physical(self.base.writing_mode, container_size), - padding_box_origin - .to_physical_or_warn(self.base.writing_mode, container_size), + padding_box_origin.to_physical(self.base.writing_mode, container_size), ); }, SpecificFragmentInfo::InlineBlock(_) if fragment.is_positioned() => { diff --git a/tests/wpt/meta-legacy-layout/css/css-logical/logical-values-float-clear-3.html.ini b/tests/wpt/meta-legacy-layout/css/css-logical/logical-values-float-clear-3.html.ini index df83a444327..23e36afc0ad 100644 --- a/tests/wpt/meta-legacy-layout/css/css-logical/logical-values-float-clear-3.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-logical/logical-values-float-clear-3.html.ini @@ -1,2 +1,2 @@ [logical-values-float-clear-3.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-logical/logical-values-float-clear-4.html.ini b/tests/wpt/meta-legacy-layout/css/css-logical/logical-values-float-clear-4.html.ini index 98c3b5a751d..666c8aefcd8 100644 --- a/tests/wpt/meta-legacy-layout/css/css-logical/logical-values-float-clear-4.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-logical/logical-values-float-clear-4.html.ini @@ -1,2 +1,2 @@ [logical-values-float-clear-4.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vlr-ltr-rtl-in-multicol.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vlr-ltr-rtl-in-multicol.tentative.html.ini index 8c7b3d749c7..cd6cb306df5 100644 --- a/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vlr-ltr-rtl-in-multicol.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vlr-ltr-rtl-in-multicol.tentative.html.ini @@ -1,2 +1,2 @@ [vlr-ltr-rtl-in-multicol.tentative.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vlr-rtl-ltr-in-multicol.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vlr-rtl-ltr-in-multicol.tentative.html.ini index 61c90231b83..3061eace4be 100644 --- a/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vlr-rtl-ltr-in-multicol.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vlr-rtl-ltr-in-multicol.tentative.html.ini @@ -1,2 +1,2 @@ [vlr-rtl-ltr-in-multicol.tentative.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vrl-ltr-rtl-in-multicol.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vrl-ltr-rtl-in-multicol.tentative.html.ini index e1b2211afbf..afc77e186af 100644 --- a/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vrl-ltr-rtl-in-multicol.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vrl-ltr-rtl-in-multicol.tentative.html.ini @@ -1,2 +1,2 @@ [vrl-ltr-rtl-in-multicol.tentative.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vrl-rtl-ltr-in-multicol.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vrl-rtl-ltr-in-multicol.tentative.html.ini index f169e087308..f563d39faab 100644 --- a/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vrl-rtl-ltr-in-multicol.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-position/multicol/static-position/vrl-rtl-ltr-in-multicol.tentative.html.ini @@ -1,2 +1,2 @@ [vrl-rtl-ltr-in-multicol.tentative.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-position/multicol/vlr-ltr-rtl-in-multicols.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/multicol/vlr-ltr-rtl-in-multicols.tentative.html.ini index ce0ecaec7a5..478043e9261 100644 --- a/tests/wpt/meta-legacy-layout/css/css-position/multicol/vlr-ltr-rtl-in-multicols.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-position/multicol/vlr-ltr-rtl-in-multicols.tentative.html.ini @@ -1,2 +1,2 @@ [vlr-ltr-rtl-in-multicols.tentative.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-position/multicol/vlr-rtl-ltr-in-multicols.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/multicol/vlr-rtl-ltr-in-multicols.tentative.html.ini index c14c2b0a8d4..25d2e8c0dde 100644 --- a/tests/wpt/meta-legacy-layout/css/css-position/multicol/vlr-rtl-ltr-in-multicols.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-position/multicol/vlr-rtl-ltr-in-multicols.tentative.html.ini @@ -1,2 +1,2 @@ [vlr-rtl-ltr-in-multicols.tentative.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-position/multicol/vrl-ltr-rtl-in-multicols.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/multicol/vrl-ltr-rtl-in-multicols.tentative.html.ini index 682714ecdbd..a2a359ae899 100644 --- a/tests/wpt/meta-legacy-layout/css/css-position/multicol/vrl-ltr-rtl-in-multicols.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-position/multicol/vrl-ltr-rtl-in-multicols.tentative.html.ini @@ -1,2 +1,2 @@ [vrl-ltr-rtl-in-multicols.tentative.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-position/multicol/vrl-rtl-ltr-in-multicols.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/multicol/vrl-rtl-ltr-in-multicols.tentative.html.ini index af968a4c833..b5b10e84b2e 100644 --- a/tests/wpt/meta-legacy-layout/css/css-position/multicol/vrl-rtl-ltr-in-multicols.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-position/multicol/vrl-rtl-ltr-in-multicols.tentative.html.ini @@ -1,2 +1,2 @@ [vrl-rtl-ltr-in-multicols.tentative.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-position/static-position/htb-ltr-rtl.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/static-position/htb-ltr-rtl.tentative.html.ini index 817a9fedbf0..bf6a7eedfbb 100644 --- a/tests/wpt/meta-legacy-layout/css/css-position/static-position/htb-ltr-rtl.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-position/static-position/htb-ltr-rtl.tentative.html.ini @@ -1,2 +1,2 @@ [htb-ltr-rtl.tentative.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-position/static-position/htb-rtl-ltr.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/static-position/htb-rtl-ltr.tentative.html.ini index 94b7f1620c1..1e7972e49b3 100644 --- a/tests/wpt/meta-legacy-layout/css/css-position/static-position/htb-rtl-ltr.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-position/static-position/htb-rtl-ltr.tentative.html.ini @@ -1,2 +1,2 @@ [htb-rtl-ltr.tentative.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-position/static-position/vlr-ltr-rtl.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/static-position/vlr-ltr-rtl.tentative.html.ini index 90ef1e4ddec..9566e7ad6a7 100644 --- a/tests/wpt/meta-legacy-layout/css/css-position/static-position/vlr-ltr-rtl.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-position/static-position/vlr-ltr-rtl.tentative.html.ini @@ -1,2 +1,2 @@ [vlr-ltr-rtl.tentative.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-position/static-position/vlr-rtl-ltr.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/static-position/vlr-rtl-ltr.tentative.html.ini index 84a86713f1f..22bfeb8265d 100644 --- a/tests/wpt/meta-legacy-layout/css/css-position/static-position/vlr-rtl-ltr.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-position/static-position/vlr-rtl-ltr.tentative.html.ini @@ -1,2 +1,2 @@ [vlr-rtl-ltr.tentative.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-position/static-position/vrl-ltr-rtl.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/static-position/vrl-ltr-rtl.tentative.html.ini index 494a2d6c35c..7758234991b 100644 --- a/tests/wpt/meta-legacy-layout/css/css-position/static-position/vrl-ltr-rtl.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-position/static-position/vrl-ltr-rtl.tentative.html.ini @@ -1,2 +1,2 @@ [vrl-ltr-rtl.tentative.html] - expected: FAIL + expected: CRASH diff --git a/tests/wpt/meta-legacy-layout/css/css-position/static-position/vrl-rtl-ltr.tentative.html.ini b/tests/wpt/meta-legacy-layout/css/css-position/static-position/vrl-rtl-ltr.tentative.html.ini index 17f6081dca2..7a3ddb8bf54 100644 --- a/tests/wpt/meta-legacy-layout/css/css-position/static-position/vrl-rtl-ltr.tentative.html.ini +++ b/tests/wpt/meta-legacy-layout/css/css-position/static-position/vrl-rtl-ltr.tentative.html.ini @@ -1,2 +1,2 @@ [vrl-rtl-ltr.tentative.html] - expected: FAIL + expected: CRASH