aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout_2020/dom_traversal.rs
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2024-02-23 18:55:18 +0100
committerGitHub <noreply@github.com>2024-02-23 17:55:18 +0000
commit0d4e4748c432e1ce1555e2f4ebb759c631038313 (patch)
treedc9e1c55d0ec18e24f9cd8075678dfc141f7bbef /components/layout_2020/dom_traversal.rs
parent41a41b3d8f176e441f5b7157c9e811fd845eedf5 (diff)
downloadservo-0d4e4748c432e1ce1555e2f4ebb759c631038313.tar.gz
servo-0d4e4748c432e1ce1555e2f4ebb759c631038313.zip
layout: Place absolutes in IFCs at their hypothetical static position (#31418)
Absolutes need to be placed at their hypothetical position as if the position value was static. This position differs based on the value they had before blockification. The code for placing absolutes was taking into account the original display for the inline value, but not for the block value. A static `display: block` box would placed at a new block position past the end of the linebox.
Diffstat (limited to 'components/layout_2020/dom_traversal.rs')
-rw-r--r--components/layout_2020/dom_traversal.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/components/layout_2020/dom_traversal.rs b/components/layout_2020/dom_traversal.rs
index f9b83a2b4cc..c4da1333a1c 100644
--- a/components/layout_2020/dom_traversal.rs
+++ b/components/layout_2020/dom_traversal.rs
@@ -89,6 +89,7 @@ where
}
}
+#[derive(Debug)]
pub(super) enum Contents {
/// Refers to a DOM subtree, plus `::before` and `::after` pseudo-elements.
OfElement,
@@ -107,6 +108,7 @@ pub(super) enum NonReplacedContents {
OfPseudoElement(Vec<PseudoElementContentItem>),
}
+#[derive(Debug)]
pub(super) enum PseudoElementContentItem {
Text(String),
Replaced(ReplacedContent),