| Index: third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h
|
| diff --git a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h
|
| index 9ea2ca1617bdcb4cac5f24e0da420b59904a1a4e..4a0545a0cebe969aad501a40f739817098fb560a 100644
|
| --- a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h
|
| +++ b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.h
|
| @@ -19,6 +19,7 @@ class NGConstraintSpace;
|
| class NGConstraintSpaceBuilder;
|
| class NGFragment;
|
| class NGFragmentBuilder;
|
| +class NGOutOfFlowLayoutPart;
|
| class NGPhysicalFragmentBase;
|
|
|
| // A class for general block layout (e.g. a <div> with no special style).
|
| @@ -47,6 +48,7 @@ class CORE_EXPORT NGBlockLayoutAlgorithm : public NGLayoutAlgorithm {
|
| // Creates a new constraint space for the current child.
|
| NGConstraintSpace* CreateConstraintSpaceForCurrentChild() const;
|
| void FinishCurrentChildLayout(NGFragmentBase* fragment);
|
| + bool LayoutOutOfFlowChild();
|
|
|
| // Computes collapsed margins for 2 adjoining blocks and updates the resultant
|
| // fragment's MarginStrut if needed.
|
| @@ -103,6 +105,7 @@ class CORE_EXPORT NGBlockLayoutAlgorithm : public NGLayoutAlgorithm {
|
| kStateInit,
|
| kStatePrepareForChildLayout,
|
| kStateChildLayout,
|
| + kStateOutOfFlowLayout,
|
| kStateFinalize
|
| };
|
| LayoutState layout_state_;
|
| @@ -120,6 +123,11 @@ class CORE_EXPORT NGBlockLayoutAlgorithm : public NGLayoutAlgorithm {
|
| Member<NGBlockNode> current_minmax_child_;
|
| MinAndMaxContentSizes pending_minmax_sizes_;
|
|
|
| + Member<NGOutOfFlowLayoutPart> out_of_flow_layout_;
|
| + HeapLinkedHashSet<WeakMember<NGBlockNode>> out_of_flow_candidates_;
|
| + Vector<NGStaticPosition> out_of_flow_candidate_positions_;
|
| + size_t out_of_flow_candidate_positions_index_;
|
| +
|
| NGBoxStrut border_and_padding_;
|
| LayoutUnit content_size_;
|
| LayoutUnit max_inline_size_;
|
|
|