diff options
author | Martin Robinson <mrobinson@igalia.com> | 2023-04-30 20:21:58 +0200 |
---|---|---|
committer | Martin Robinson <mrobinson@igalia.com> | 2023-05-04 10:46:27 +0200 |
commit | 72302e2dae6c4726ae657f7b5b8b048f9f64ccf2 (patch) | |
tree | 307e1972dd46de70388bd9cba0f8589f05250226 /components/layout_2020/flexbox/construct.rs | |
parent | 77a184a0e7379a63a0d9d8bf442d8dd5c3b5e307 (diff) | |
download | servo-72302e2dae6c4726ae657f7b5b8b048f9f64ccf2.tar.gz servo-72302e2dae6c4726ae657f7b5b8b048f9f64ccf2.zip |
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.
Diffstat (limited to 'components/layout_2020/flexbox/construct.rs')
-rw-r--r-- | components/layout_2020/flexbox/construct.rs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/components/layout_2020/flexbox/construct.rs b/components/layout_2020/flexbox/construct.rs index 6c7c90635f2..e8848c1dc39 100644 --- a/components/layout_2020/flexbox/construct.rs +++ b/components/layout_2020/flexbox/construct.rs @@ -10,7 +10,6 @@ use crate::dom_traversal::{ }; use crate::element_data::LayoutBox; use crate::formatting_contexts::IndependentFormattingContext; -use crate::fragments::Tag; use crate::positioned::AbsolutelyPositionedBox; use crate::style_ext::DisplayGeneratingBox; use rayon::iter::{IntoParallelIterator, ParallelIterator}; @@ -150,7 +149,7 @@ where .info .new_replacing_style(anonymous_style.clone().unwrap()), runs.into_iter().map(|run| crate::flow::inline::TextRun { - tag: Tag::from_node_and_style_info(&run.info), + base_fragment_info: (&run.info).into(), text: run.text.into(), parent_style: run.info.style, }), |