diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/layout/ng/flex/ng_flex_layout_algorithm.h')
-rw-r--r-- | chromium/third_party/blink/renderer/core/layout/ng/flex/ng_flex_layout_algorithm.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/chromium/third_party/blink/renderer/core/layout/ng/flex/ng_flex_layout_algorithm.h b/chromium/third_party/blink/renderer/core/layout/ng/flex/ng_flex_layout_algorithm.h index e0e33c2bdc6..8bb19f7da46 100644 --- a/chromium/third_party/blink/renderer/core/layout/ng/flex/ng_flex_layout_algorithm.h +++ b/chromium/third_party/blink/renderer/core/layout/ng/flex/ng_flex_layout_algorithm.h @@ -23,11 +23,13 @@ class CORE_EXPORT NGFlexLayoutAlgorithm public: NGFlexLayoutAlgorithm(const NGLayoutAlgorithmParams& params); - scoped_refptr<const NGLayoutResult> Layout() override; - MinMaxSizesResult ComputeMinMaxSizes(const MinMaxSizesInput&) const override; + scoped_refptr<const NGLayoutResult> Layout() override; private: + scoped_refptr<const NGLayoutResult> RelayoutIgnoringChildScrollbarChanges(); + scoped_refptr<const NGLayoutResult> LayoutInternal(); + bool DoesItemCrossSizeComputeToAuto(const NGBlockNode& child) const; bool IsItemFlexBasisDefinite(const NGBlockNode& child) const; bool IsItemMainSizeDefinite(const NGBlockNode& child) const; @@ -51,6 +53,9 @@ class CORE_EXPORT NGFlexLayoutAlgorithm bool IsColumnContainerMainSizeDefinite() const; bool IsContainerCrossSizeDefinite() const; + LayoutUnit CalculateFixedCrossSize(const MinMaxSizes& cross_axis_min_max, + const NGBoxStrut& margins) const; + NGConstraintSpace BuildSpaceForFlexBasis(const NGBlockNode& flex_item) const; NGConstraintSpace BuildSpaceForIntrinsicBlockSize( const NGBlockNode& flex_item, @@ -58,7 +63,7 @@ class CORE_EXPORT NGFlexLayoutAlgorithm const MinMaxSizes& cross_axis) const; void ConstructAndAppendFlexItems(); void ApplyStretchAlignmentToChild(FlexItem& flex_item); - void GiveLinesAndItemsFinalPositionAndSize(); + bool GiveLinesAndItemsFinalPositionAndSize(); void LayoutColumnReverse(LayoutUnit main_axis_content_size); // This is same method as FlexItem but we need that logic before FlexItem is @@ -75,13 +80,11 @@ class CORE_EXPORT NGFlexLayoutAlgorithm LayoutUnit block_offset, base::Optional<LayoutUnit>* fallback_baseline); - const NGBoxStrut border_padding_; - const NGBoxStrut border_scrollbar_padding_; const bool is_column_; const bool is_horizontal_flow_; const bool is_cross_size_definite_; + bool ignore_child_scrollbar_changes_ = false; LogicalSize border_box_size_; - LogicalSize content_box_size_; LogicalSize child_percentage_size_; base::Optional<FlexLayoutAlgorithm> algorithm_; }; |