summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/layout/layout_block_flow.h
diff options
context:
space:
mode:
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.h26
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_;