Index: third_party/WebKit/Source/core/layout/ng/ng_out_of_flow_layout_part.h |
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_out_of_flow_layout_part.h b/third_party/WebKit/Source/core/layout/ng/ng_out_of_flow_layout_part.h |
index fa30ecb68ef53883b001b2d030313d9891707a95..b919f7b5b0a56fa7da723fbdcacf43a2ed08ff2f 100644 |
--- a/third_party/WebKit/Source/core/layout/ng/ng_out_of_flow_layout_part.h |
+++ b/third_party/WebKit/Source/core/layout/ng/ng_out_of_flow_layout_part.h |
@@ -19,29 +19,36 @@ namespace blink { |
class ComputedStyle; |
class NGBlockNode; |
class NGFragment; |
+class NGFragmentBuilder; |
class NGConstraintSpace; |
// Helper class for positioning of out-of-flow blocks. |
// It should be used together with NGFragmentBuilder. |
// See NGFragmentBuilder::AddOutOfFlowChildCandidate documentation |
// for example of using these classes together. |
-class CORE_EXPORT NGOutOfFlowLayoutPart |
- : public GarbageCollectedFinalized<NGOutOfFlowLayoutPart> { |
- public: |
- NGOutOfFlowLayoutPart(PassRefPtr<const ComputedStyle>, NGLogicalSize); |
- |
- void Layout(NGBlockNode&, NGStaticPosition, NGFragment**, NGLogicalOffset*); |
+class CORE_EXPORT NGOutOfFlowLayoutPart { |
+ STACK_ALLOCATED(); |
- DECLARE_TRACE(); |
+ public: |
+ NGOutOfFlowLayoutPart(const ComputedStyle& container_style, |
+ NGFragmentBuilder* container_builder); |
+ void Run(); |
private: |
+ NGFragment* LayoutChild(NGBlockNode& child, |
+ NGStaticPosition static_position, |
+ NGLogicalOffset* offset); |
+ |
NGFragment* GenerateFragment(NGBlockNode& node, |
const Optional<LayoutUnit>& block_estimate, |
const NGAbsolutePhysicalPosition node_position); |
+ const ComputedStyle& container_style_; |
+ Member<NGFragmentBuilder> container_builder_; |
+ |
NGLogicalOffset parent_border_offset_; |
NGPhysicalOffset parent_border_physical_offset_; |
- Member<NGConstraintSpace> parent_space_; |
+ Member<NGConstraintSpace> container_space_; |
}; |
} // namespace blink |