| 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 c9c4a70c2e97db625bc267c1c139466480fe944b..775a394cb431fde3b0c076334800fab691aac34a 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).
|
| @@ -46,6 +47,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.
|
| @@ -102,6 +104,7 @@ class CORE_EXPORT NGBlockLayoutAlgorithm : public NGLayoutAlgorithm {
|
| kStateInit,
|
| kStatePrepareForChildLayout,
|
| kStateChildLayout,
|
| + kStateOutOfFlowLayout,
|
| kStateFinalize
|
| };
|
| State state_;
|
| @@ -116,6 +119,11 @@ class CORE_EXPORT NGBlockLayoutAlgorithm : public NGLayoutAlgorithm {
|
| Member<NGConstraintSpace> space_for_current_child_;
|
| Member<NGBlockNode> current_child_;
|
|
|
| + 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_;
|
|
|