Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(732)

Side by Side Diff: third_party/WebKit/Source/core/layout/ng/ng_physical_box_fragment.h

Issue 2642823008: Introduce NGFloatingObject (Closed)
Patch Set: Update TestExpectations Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 12
13 namespace blink { 13 namespace blink {
14 14
15 class NGBlockNode; 15 class NGBlockNode;
16 struct NGFloatingObject;
16 17
17 class CORE_EXPORT NGPhysicalBoxFragment final : public NGPhysicalFragment { 18 class CORE_EXPORT NGPhysicalBoxFragment final : public NGPhysicalFragment {
18 public: 19 public:
19 // This modifies the passed-in children vector. 20 // This modifies the passed-in children vector.
20 NGPhysicalBoxFragment( 21 NGPhysicalBoxFragment(
21 NGPhysicalSize size, 22 NGPhysicalSize size,
22 NGPhysicalSize overflow, 23 NGPhysicalSize overflow,
23 HeapVector<Member<const NGPhysicalFragment>>& children, 24 HeapVector<Member<const NGPhysicalFragment>>& children,
24 HeapLinkedHashSet<WeakMember<NGBlockNode>>& out_of_flow_descendants, 25 HeapLinkedHashSet<WeakMember<NGBlockNode>>& out_of_flow_descendants,
25 Vector<NGStaticPosition>& out_of_flow_positions, 26 Vector<NGStaticPosition>& out_of_flow_positions,
26 NGMarginStrut margin_strut, 27 NGMarginStrut margin_strut,
28 HeapVector<Member<NGFloatingObject>>& unpositioned_floats,
29 HeapVector<Member<NGFloatingObject>>& positioned_floats,
27 NGBreakToken* break_token = nullptr); 30 NGBreakToken* break_token = nullptr);
28 31
29 const HeapVector<Member<const NGPhysicalFragment>>& Children() const { 32 const HeapVector<Member<const NGPhysicalFragment>>& Children() const {
30 return children_; 33 return children_;
31 } 34 }
32 35
33 NGMarginStrut MarginStrut() const { return margin_strut_; } 36 NGMarginStrut MarginStrut() const { return margin_strut_; }
34 37
35 DECLARE_TRACE_AFTER_DISPATCH(); 38 DECLARE_TRACE_AFTER_DISPATCH();
36 39
37 private: 40 private:
38 HeapVector<Member<const NGPhysicalFragment>> children_; 41 HeapVector<Member<const NGPhysicalFragment>> children_;
39 NGMarginStrut margin_strut_; 42 NGMarginStrut margin_strut_;
40 }; 43 };
41 44
42 WILL_NOT_BE_EAGERLY_TRACED_CLASS(NGPhysicalBoxFragment); 45 WILL_NOT_BE_EAGERLY_TRACED_CLASS(NGPhysicalBoxFragment);
43 46
44 DEFINE_TYPE_CASTS(NGPhysicalBoxFragment, 47 DEFINE_TYPE_CASTS(NGPhysicalBoxFragment,
45 NGPhysicalFragment, 48 NGPhysicalFragment,
46 fragment, 49 fragment,
47 fragment->Type() == NGPhysicalFragment::kFragmentBox, 50 fragment->Type() == NGPhysicalFragment::kFragmentBox,
48 fragment.Type() == NGPhysicalFragment::kFragmentBox); 51 fragment.Type() == NGPhysicalFragment::kFragmentBox);
49 52
50 } // namespace blink 53 } // namespace blink
51 54
52 #endif // NGPhysicalBoxFragment_h 55 #endif // NGPhysicalBoxFragment_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698