diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/layout/layout_block_flow.h')
-rw-r--r-- | chromium/third_party/blink/renderer/core/layout/layout_block_flow.h | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/chromium/third_party/blink/renderer/core/layout/layout_block_flow.h b/chromium/third_party/blink/renderer/core/layout/layout_block_flow.h index e7f1a334a53..b36394a18dd 100644 --- a/chromium/third_party/blink/renderer/core/layout/layout_block_flow.h +++ b/chromium/third_party/blink/renderer/core/layout/layout_block_flow.h @@ -356,6 +356,9 @@ class CORE_EXPORT LayoutBlockFlow : public LayoutBlock { } void SetFirstForcedBreakOffset(LayoutUnit); + const AtomicString StartPageName() const final; + const AtomicString EndPageName() const final; + void PositionSpannerDescendant(LayoutMultiColumnSpannerPlaceholder& child); bool CreatesNewFormattingContext() const override; @@ -433,6 +436,7 @@ class CORE_EXPORT LayoutBlockFlow : public LayoutBlock { PositionWithAffinity PositionForPoint(const PhysicalOffset&) const override; PositionWithAffinity PositionForPoint(const LayoutObject& offset_parent, const PhysicalOffset& offset) const; + bool ShouldMoveCaretToHorizontalBoundaryWhenPastTopOrBottom() const; LayoutUnit LowestFloatLogicalBottom(EClear = EClear::kBoth) const; @@ -535,7 +539,7 @@ class CORE_EXPORT LayoutBlockFlow : public LayoutBlock { const PhysicalOffset& accumulated_offset, HitTestAction) override; - PhysicalOffset AccumulateInFlowPositionOffsets() const override; + PhysicalOffset AccumulateRelativePositionOffsets() const override; private: void ResetLayout(); @@ -669,6 +673,16 @@ class CORE_EXPORT LayoutBlockFlow : public LayoutBlock { return rare_data_ && rare_data_->did_break_at_line_to_avoid_widow_; } + // Start page name propagated from the first child, if there are children, and + // the first child has a start page name associated with it. + const AtomicString PropagatedStartPageName() const; + void SetPropagatedStartPageName(const AtomicString&); + + // End page name propagated from the last child, if there are children, and + // the last child has a end page name associated with it. + const AtomicString PropagatedEndPageName() const; + void SetPropagatedEndPageName(const AtomicString&); + public: struct FloatWithRect { DISALLOW_NEW(); @@ -753,7 +767,7 @@ class CORE_EXPORT LayoutBlockFlow : public LayoutBlock { return (-block->MarginAfter()).ClampNegativeToZero(); } - void Trace(Visitor*) {} + void Trace(Visitor*) const {} MarginValues margins_; LayoutUnit pagination_strut_propagated_from_child_; @@ -768,6 +782,14 @@ class CORE_EXPORT LayoutBlockFlow : public LayoutBlock { // |offset_mapping_| here. std::unique_ptr<NGOffsetMapping> offset_mapping_; + // Name of the start page for this object, if propagated from a descendant; + // see https://drafts.csswg.org/css-page-3/#start-page-value + AtomicString propagated_start_page_name_; + + // Name of the end page for this object, if propagated from a descendant; + // see https://drafts.csswg.org/css-page-3/#end-page-value + AtomicString propagated_end_page_name_; + unsigned break_before_ : 4; unsigned break_after_ : 4; int line_break_to_avoid_widow_; |