| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef NGPhysicalBoxFragment_h | 5 #ifndef NGPhysicalBoxFragment_h |
| 6 #define NGPhysicalBoxFragment_h | 6 #define NGPhysicalBoxFragment_h |
| 7 | 7 |
| 8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" |
| 9 #include "core/layout/ng/ng_physical_fragment.h" | 9 #include "core/layout/ng/ng_physical_fragment.h" |
| 10 #include "core/layout/ng/ng_units.h" | 10 #include "core/layout/ng/ng_units.h" |
| 11 #include "platform/heap/Handle.h" | 11 #include "platform/heap/Handle.h" |
| 12 #include "wtf/Optional.h" |
| 12 | 13 |
| 13 namespace blink { | 14 namespace blink { |
| 14 | 15 |
| 15 class NGBlockNode; | 16 class NGBlockNode; |
| 16 struct NGFloatingObject; | 17 struct NGFloatingObject; |
| 17 | 18 |
| 18 class CORE_EXPORT NGPhysicalBoxFragment final : public NGPhysicalFragment { | 19 class CORE_EXPORT NGPhysicalBoxFragment final : public NGPhysicalFragment { |
| 19 public: | 20 public: |
| 20 // This modifies the passed-in children vector. | 21 // This modifies the passed-in children vector. |
| 21 NGPhysicalBoxFragment( | 22 NGPhysicalBoxFragment( |
| 22 LayoutObject* layout_object, | 23 LayoutObject* layout_object, |
| 23 NGPhysicalSize size, | 24 NGPhysicalSize size, |
| 24 NGPhysicalSize overflow, | 25 NGPhysicalSize overflow, |
| 25 HeapVector<Member<NGPhysicalFragment>>& children, | 26 HeapVector<Member<NGPhysicalFragment>>& children, |
| 26 HeapLinkedHashSet<WeakMember<NGBlockNode>>& out_of_flow_descendants, | 27 HeapLinkedHashSet<WeakMember<NGBlockNode>>& out_of_flow_descendants, |
| 27 Vector<NGStaticPosition>& out_of_flow_positions, | 28 Vector<NGStaticPosition>& out_of_flow_positions, |
| 28 NGDeprecatedMarginStrut margin_strut, | |
| 29 HeapVector<Member<NGFloatingObject>>& unpositioned_floats, | 29 HeapVector<Member<NGFloatingObject>>& unpositioned_floats, |
| 30 HeapVector<Member<NGFloatingObject>>& positioned_floats, | 30 HeapVector<Member<NGFloatingObject>>& positioned_floats, |
| 31 const WTF::Optional<NGLogicalOffset>& bfc_offset, |
| 32 const NGMarginStrut& end_margin_strut, |
| 31 NGBreakToken* break_token = nullptr); | 33 NGBreakToken* break_token = nullptr); |
| 32 | 34 |
| 33 const HeapVector<Member<NGPhysicalFragment>>& Children() const { | 35 const HeapVector<Member<NGPhysicalFragment>>& Children() const { |
| 34 return children_; | 36 return children_; |
| 35 } | 37 } |
| 36 | 38 |
| 37 NGDeprecatedMarginStrut MarginStrut() const { return margin_strut_; } | 39 const WTF::Optional<NGLogicalOffset>& BfcOffset() const { |
| 40 return bfc_offset_; |
| 41 } |
| 42 |
| 43 const NGMarginStrut& EndMarginStrut() const { return end_margin_strut_; } |
| 38 | 44 |
| 39 DECLARE_TRACE_AFTER_DISPATCH(); | 45 DECLARE_TRACE_AFTER_DISPATCH(); |
| 40 | 46 |
| 41 private: | 47 private: |
| 42 HeapVector<Member<NGPhysicalFragment>> children_; | 48 HeapVector<Member<NGPhysicalFragment>> children_; |
| 43 NGDeprecatedMarginStrut margin_strut_; | 49 const WTF::Optional<NGLogicalOffset> bfc_offset_; |
| 50 const NGMarginStrut end_margin_strut_; |
| 44 }; | 51 }; |
| 45 | 52 |
| 46 WILL_NOT_BE_EAGERLY_TRACED_CLASS(NGPhysicalBoxFragment); | 53 WILL_NOT_BE_EAGERLY_TRACED_CLASS(NGPhysicalBoxFragment); |
| 47 | 54 |
| 48 DEFINE_TYPE_CASTS(NGPhysicalBoxFragment, | 55 DEFINE_TYPE_CASTS(NGPhysicalBoxFragment, |
| 49 NGPhysicalFragment, | 56 NGPhysicalFragment, |
| 50 fragment, | 57 fragment, |
| 51 fragment->Type() == NGPhysicalFragment::kFragmentBox, | 58 fragment->Type() == NGPhysicalFragment::kFragmentBox, |
| 52 fragment.Type() == NGPhysicalFragment::kFragmentBox); | 59 fragment.Type() == NGPhysicalFragment::kFragmentBox); |
| 53 | 60 |
| 54 } // namespace blink | 61 } // namespace blink |
| 55 | 62 |
| 56 #endif // NGPhysicalBoxFragment_h | 63 #endif // NGPhysicalBoxFragment_h |
| OLD | NEW |