aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/flow.rs
diff options
context:
space:
mode:
authorbors-servo <infra@servo.org>2023-05-04 11:35:25 +0200
committerGitHub <noreply@github.com>2023-05-04 11:35:25 +0200
commit4e37d07ea4f2bba124f78f17873fbb02c66d1cdb (patch)
tree7dc272f33fa36faf34423d42dfa2e4654be09843 /components/layout/flow.rs
parentf29834608aee21c1845737067c16f92adfb77f08 (diff)
parent72302e2dae6c4726ae657f7b5b8b048f9f64ccf2 (diff)
downloadservo-4e37d07ea4f2bba124f78f17873fbb02c66d1cdb.tar.gz
servo-4e37d07ea4f2bba124f78f17873fbb02c66d1cdb.zip
Auto merge of #29699 - mrobinson:add-html-body-tag, r=mukilan
Detect body elements during layout During layout it is often useful, for various specification reasons, to know if an element is the `<body>` element of an `<html>` element root. There are a couple places where a brittle heuristic is used to detect `<body>` elements. This information is going to be even more important to properly handle `<html>` elements that inherit their overflow property from their `<body>` children. Implementing this properly requires updating the DOM wrapper interface. This check does reach up to the parent of thread-safe nodes, but this is essentially the same kind of operation that `parent_style()` does, so is ostensibly safe. This change should not change any behavior and is just a preparation step for properly handle `<body>` overflow. <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because it does not change behavior. <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Diffstat (limited to 'components/layout/flow.rs')
-rw-r--r--components/layout/flow.rs15
1 files changed, 11 insertions, 4 deletions
diff --git a/components/layout/flow.rs b/components/layout/flow.rs
index 01aa77043f1..ef7cfe3d5a7 100644
--- a/components/layout/flow.rs
+++ b/components/layout/flow.rs
@@ -967,13 +967,23 @@ impl fmt::Debug for BaseFlow {
"".to_owned()
};
+ let flags_string = if !self.flags.is_empty() {
+ format!("\nflags={:?}", self.flags)
+ } else {
+ "".to_owned()
+ };
+
write!(
f,
"\nsc={:?}\
\npos={:?}{}{}\
\nfloatspec-in={:?}\
\nfloatspec-out={:?}\
- \noverflow={:?}{}{}{}",
+ \noverflow={:?}\
+ {child_count_string}\
+ {absolute_descendants_string}\
+ {damage_string}\
+ {flags_string}",
self.stacking_context_id,
self.position,
if self.flags.contains(FlowFlags::FLOATS_LEFT) {
@@ -989,9 +999,6 @@ impl fmt::Debug for BaseFlow {
self.speculated_float_placement_in,
self.speculated_float_placement_out,
self.overflow,
- child_count_string,
- absolute_descendants_string,
- damage_string
)
}
}