pub(crate) struct PositioningFragment {
pub base: BaseFragment,
pub children: Vec<Fragment>,
scrollable_overflow: AtomicRefCell<Option<PhysicalRect<Au>>>,
pub cumulative_containing_block_rect: AtomicRefCell<PhysicalRect<Au>>,
}Expand description
Can contain child fragments with relative coordinates, but does not contribute to painting
itself. PositioningFragments may be completely anonymous, or just non-painting Fragments
generated by boxes.
Fields§
§base: BaseFragment§children: Vec<Fragment>§scrollable_overflow: AtomicRefCell<Option<PhysicalRect<Au>>>The scrollable overflow of this anonymous fragment’s children.
cumulative_containing_block_rect: AtomicRefCell<PhysicalRect<Au>>This PositioningFragment’s containing block rectangle in coordinates relative to
the initial containing block, but not taking into account any transforms.
Implementations§
Source§impl PositioningFragment
impl PositioningFragment
fn build_stacking_context_tree( &self, stacking_context_tree: &mut StackingContextTree, containing_block: &ContainingBlock, containing_block_info: &ContainingBlockManager<'_, ContainingBlock>, stacking_context: &mut StackingContext, text_decorations: &Arc<Vec<FragmentTextDecoration>>, )
Source§impl PositioningFragment
impl PositioningFragment
pub fn new_anonymous( style: ServoArc<ComputedValues>, rect: PhysicalRect<Au>, children: Vec<Fragment>, ) -> Arc<Self>
pub fn new_empty( base_fragment_info: BaseFragmentInfo, rect: PhysicalRect<Au>, style: ServoArc<ComputedValues>, ) -> Arc<Self>
fn new_with_base_fragment_info( base_fragment_info: BaseFragmentInfo, style: ServoArc<ComputedValues>, rect: PhysicalRect<Au>, children: Vec<Fragment>, ) -> Arc<Self>
pub(crate) fn set_containing_block(&self, containing_block: &PhysicalRect<Au>)
pub fn offset_by_containing_block( &self, rect: &PhysicalRect<Au>, containing_block_computation: ContainingBlockCalculation<'_>, ) -> PhysicalRect<Au>
Sourcepub(crate) fn scrollable_overflow_for_parent(&self) -> PhysicalRect<Au>
pub(crate) fn scrollable_overflow_for_parent(&self) -> PhysicalRect<Au>
Get the scrollable overflow for this PositioningFragment relative to its
containing block, recalculating scrollable overflow when necessary, for instance
after a style change.
Sourcepub(crate) fn clear_scrollable_overflow(&self)
pub(crate) fn clear_scrollable_overflow(&self)
Clear the scrollable overflow on this PositioningFragment. This is called
during damage propagation when a fragment is preserved, itself or one of its
descendants has scrollable overflow damage.
fn calculate_scrollable_overflow(&self) -> PhysicalRect<Au>
pub fn print(&self, tree: &mut PrintTree)
Trait Implementations§
Source§impl MallocSizeOf for PositioningFragment
impl MallocSizeOf for PositioningFragment
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Auto Trait Implementations§
impl !Freeze for PositioningFragment
impl !RefUnwindSafe for PositioningFragment
impl Send for PositioningFragment
impl Sync for PositioningFragment
impl Unpin for PositioningFragment
impl UnsafeUnpin for PositioningFragment
impl !UnwindSafe for PositioningFragment
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more