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 NGPhysicalTextFragment_h | 5 #ifndef NGPhysicalTextFragment_h |
6 #define NGPhysicalTextFragment_h | 6 #define NGPhysicalTextFragment_h |
7 | 7 |
8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" |
9 #include "core/layout/ng/ng_block_node.h" | 9 #include "core/layout/ng/ng_block_node.h" |
10 #include "core/layout/ng/ng_inline_node.h" | 10 #include "core/layout/ng/ng_inline_node.h" |
| 11 #include "core/layout/ng/ng_floating_object.h" |
11 #include "core/layout/ng/ng_physical_fragment.h" | 12 #include "core/layout/ng/ng_physical_fragment.h" |
12 #include "platform/heap/Handle.h" | 13 #include "platform/heap/Handle.h" |
13 | 14 |
14 namespace blink { | 15 namespace blink { |
15 | 16 |
16 class CORE_EXPORT NGPhysicalTextFragment final : public NGPhysicalFragment { | 17 class CORE_EXPORT NGPhysicalTextFragment final : public NGPhysicalFragment { |
17 public: | 18 public: |
18 NGPhysicalTextFragment( | 19 NGPhysicalTextFragment( |
19 const NGInlineNode* node, | 20 const NGInlineNode* node, |
20 unsigned start_index, | 21 unsigned start_index, |
21 unsigned end_index, | 22 unsigned end_index, |
22 NGPhysicalSize size, | 23 NGPhysicalSize size, |
23 NGPhysicalSize overflow, | 24 NGPhysicalSize overflow, |
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, |
| 27 HeapVector<Member<NGFloatingObject>>& unpositioned_floats, |
| 28 HeapVector<Member<NGFloatingObject>>& positioned_floats) |
26 : NGPhysicalFragment(size, | 29 : NGPhysicalFragment(size, |
27 overflow, | 30 overflow, |
28 kFragmentText, | 31 kFragmentText, |
29 out_of_flow_descendants, | 32 out_of_flow_descendants, |
30 out_of_flow_positions), | 33 out_of_flow_positions, |
| 34 unpositioned_floats, |
| 35 positioned_floats), |
31 node_(node), | 36 node_(node), |
32 start_index_(start_index), | 37 start_index_(start_index), |
33 end_index_(end_index) {} | 38 end_index_(end_index) {} |
34 | 39 |
35 DEFINE_INLINE_TRACE_AFTER_DISPATCH() { | 40 DEFINE_INLINE_TRACE_AFTER_DISPATCH() { |
36 visitor->trace(node_); | 41 visitor->trace(node_); |
37 NGPhysicalFragment::traceAfterDispatch(visitor); | 42 NGPhysicalFragment::traceAfterDispatch(visitor); |
38 } | 43 } |
39 | 44 |
40 const NGInlineNode* Node() const { return node_; } | 45 const NGInlineNode* Node() const { return node_; } |
(...skipping 14 matching lines...) Expand all Loading... |
55 | 60 |
56 DEFINE_TYPE_CASTS(NGPhysicalTextFragment, | 61 DEFINE_TYPE_CASTS(NGPhysicalTextFragment, |
57 NGPhysicalFragment, | 62 NGPhysicalFragment, |
58 text, | 63 text, |
59 text->Type() == NGPhysicalFragment::kFragmentText, | 64 text->Type() == NGPhysicalFragment::kFragmentText, |
60 text.Type() == NGPhysicalFragment::kFragmentText); | 65 text.Type() == NGPhysicalFragment::kFragmentText); |
61 | 66 |
62 } // namespace blink | 67 } // namespace blink |
63 | 68 |
64 #endif // NGPhysicalTextFragment_h | 69 #endif // NGPhysicalTextFragment_h |
OLD | NEW |