aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/inline.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/layout/inline.rs')
-rw-r--r--components/layout/inline.rs18
1 files changed, 17 insertions, 1 deletions
diff --git a/components/layout/inline.rs b/components/layout/inline.rs
index 51739ede4c8..6066b4a8473 100644
--- a/components/layout/inline.rs
+++ b/components/layout/inline.rs
@@ -1666,6 +1666,8 @@ impl Flow for InlineFlow {
.early_absolute_position_info
.relative_containing_block_mode,
CoordinateSystem::Parent);
+ let stacking_relative_content_box =
+ fragment.stacking_relative_content_box(&stacking_relative_border_box);
let clip = fragment.clipping_region_for_children(&self.base.clip,
&stacking_relative_border_box,
false);
@@ -1689,7 +1691,7 @@ impl Flow for InlineFlow {
}
block_flow.base.stacking_relative_position =
- stacking_relative_border_box.origin;
+ stacking_relative_content_box.origin;
block_flow.base.stacking_relative_position_of_display_port =
self.base.stacking_relative_position_of_display_port;
}
@@ -1817,6 +1819,20 @@ pub struct InlineFragmentNodeInfo {
pub address: OpaqueNode,
pub style: Arc<ComputedValues>,
pub pseudo: PseudoElementType<()>,
+ pub flags: InlineFragmentNodeFlags,
+}
+
+bitflags! {
+ flags InlineFragmentNodeFlags: u8 {
+ const FIRST_FRAGMENT_OF_ELEMENT = 0x01,
+ const LAST_FRAGMENT_OF_ELEMENT = 0x02,
+ }
+}
+
+impl fmt::Debug for InlineFragmentNodeInfo {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ write!(f, "{:?}", self.flags.bits())
+ }
}
#[derive(Clone)]