diff options
Diffstat (limited to 'components/layout/inline.rs')
-rw-r--r-- | components/layout/inline.rs | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/components/layout/inline.rs b/components/layout/inline.rs index 4b5a6b985c7..17d6af7ccbc 100644 --- a/components/layout/inline.rs +++ b/components/layout/inline.rs @@ -183,9 +183,9 @@ int_range_index! { bitflags! { flags InlineReflowFlags: u8 { - #[doc="The `white-space: nowrap` property from CSS 2.1 § 16.6 is in effect."] + #[doc = "The `white-space: nowrap` property from CSS 2.1 § 16.6 is in effect."] const NO_WRAP_INLINE_REFLOW_FLAG = 0x01, - #[doc="The `white-space: pre` property from CSS 2.1 § 16.6 is in effect."] + #[doc = "The `white-space: pre` property from CSS 2.1 § 16.6 is in effect."] const WRAP_ON_NEWLINE_INLINE_REFLOW_FLAG = 0x02 } } @@ -1645,10 +1645,10 @@ impl Flow for InlineFlow { let stacking_relative_border_box = fragment.stacking_relative_border_box(&self.base.stacking_relative_position, &self.base - .absolute_position_info + .early_absolute_position_info .relative_containing_block_size, self.base - .absolute_position_info + .early_absolute_position_info .relative_containing_block_mode, CoordinateSystem::Parent); let clip = fragment.clipping_region_for_children(&self.base.clip, @@ -1661,13 +1661,14 @@ impl Flow for InlineFlow { flow::mut_base(flow).clip = clip; let block_flow = flow.as_mut_block(); - block_flow.base.absolute_position_info = self.base.absolute_position_info; + block_flow.base.late_absolute_position_info = + self.base.late_absolute_position_info; let stacking_relative_position = self.base.stacking_relative_position; if is_positioned { let padding_box_origin = containing_block_positions.next().unwrap(); block_flow.base - .absolute_position_info + .late_absolute_position_info .stacking_relative_position_of_absolute_containing_block = stacking_relative_position + *padding_box_origin; } @@ -1681,7 +1682,8 @@ impl Flow for InlineFlow { let flow = flow_ref::deref_mut(&mut info.flow_ref); flow::mut_base(flow).clip = clip; let block_flow = flow.as_mut_block(); - block_flow.base.absolute_position_info = self.base.absolute_position_info; + block_flow.base.late_absolute_position_info = + self.base.late_absolute_position_info; block_flow.base.stacking_relative_position = stacking_relative_border_box.origin; @@ -1693,12 +1695,13 @@ impl Flow for InlineFlow { flow::mut_base(flow).clip = clip; let block_flow = flow.as_mut_block(); - block_flow.base.absolute_position_info = self.base.absolute_position_info; + block_flow.base.late_absolute_position_info = + self.base.late_absolute_position_info; let stacking_relative_position = self.base.stacking_relative_position; let padding_box_origin = containing_block_positions.next().unwrap(); block_flow.base - .absolute_position_info + .late_absolute_position_info .stacking_relative_position_of_absolute_containing_block = stacking_relative_position + *padding_box_origin; @@ -1725,7 +1728,8 @@ impl Flow for InlineFlow { fn compute_overflow(&self) -> Rect<Au> { let mut overflow = ZERO_RECT; for fragment in &self.fragments.fragments { - overflow = overflow.union(&fragment.compute_overflow()) + overflow = overflow.union(&fragment.compute_overflow( + &self.base.early_absolute_position_info.relative_containing_block_size)) } overflow } @@ -1742,9 +1746,9 @@ impl Flow for InlineFlow { let stacking_relative_position = &self.base.stacking_relative_position; let relative_containing_block_size = - &self.base.absolute_position_info.relative_containing_block_size; + &self.base.early_absolute_position_info.relative_containing_block_size; let relative_containing_block_mode = - self.base.absolute_position_info.relative_containing_block_mode; + self.base.early_absolute_position_info.relative_containing_block_mode; iterator.process(fragment, level, &fragment.stacking_relative_border_box(stacking_relative_position, |