diff options
Diffstat (limited to 'components/layout/inline.rs')
-rw-r--r-- | components/layout/inline.rs | 18 |
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)] |