aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout_2020/fragment_tree/box_fragment.rs
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2023-08-11 09:19:50 +0200
committerGitHub <noreply@github.com>2023-08-11 07:19:50 +0000
commit59f5414ca86966738e3bafd6cc7f2dbaf38d1451 (patch)
treec3206e5199bca282a2f77ecdc3223850888f80c1 /components/layout_2020/fragment_tree/box_fragment.rs
parent450f8193a567ac6e5acd84e89fe73ed7ce137a78 (diff)
downloadservo-59f5414ca86966738e3bafd6cc7f2dbaf38d1451.tar.gz
servo-59f5414ca86966738e3bafd6cc7f2dbaf38d1451.zip
Split line layout into two phases (#30089)
In the first phase, we gather LineItems and then when we have enough to form a line we turn them into Fragments. This will make it possible to more simply implement `vertical-align` and `text-align: justify` because we need to measure the different aspects of the candidate line and then produce a Fragments. This is a general refactor of the way that inline layout works, so comes with some progressions. In addition there are some new failures. New failures: Some tests are now failing because only the test or reference is getting proper line height when it wasn't before. These should be fixed in a followup change that properly calculate line-height in more cases: - /_mozilla/css/list_style_position_a.html - /css/CSS2/floats/float-no-content-beside-001.html - /css/css-content/pseudo-element-inline-box.html - /css/css-flexbox/flexbox_flex-none-wrappable-content.html Some tests are now failing because floats are now placed properly, but are no longer in their inline box stacking contexts. These will be fixed by a followup change which properly parents them: - /css/filter-effects/filtered-inline-applies-to-float.html.ini - /css/css-color/inline-opacity-float-child.html.ini One test is failing due to floating point precision errors: - /css/CSS2/floats-clear/floats-141.xht.ini Signed-off-by: Martin Robinson <mrobinson@igalia.com> Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Diffstat (limited to 'components/layout_2020/fragment_tree/box_fragment.rs')
-rw-r--r--components/layout_2020/fragment_tree/box_fragment.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/components/layout_2020/fragment_tree/box_fragment.rs b/components/layout_2020/fragment_tree/box_fragment.rs
index 9c06c212d33..0ff96c5deed 100644
--- a/components/layout_2020/fragment_tree/box_fragment.rs
+++ b/components/layout_2020/fragment_tree/box_fragment.rs
@@ -155,6 +155,7 @@ impl BoxFragment {
\ncontent={:?}\
\npadding rect={:?}\
\nborder rect={:?}\
+ \nmargin={:?}\
\nclearance={:?}\
\nscrollable_overflow={:?}\
\noverflow={:?} / {:?}",
@@ -162,6 +163,7 @@ impl BoxFragment {
self.content_rect,
self.padding_rect(),
self.border_rect(),
+ self.margin,
self.clearance,
self.scrollable_overflow(&PhysicalRect::zero()),
self.style.get_box().overflow_x,