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 NGFragment_h | 5 #ifndef NGFragmentBase_h |
6 #define NGFragment_h | 6 #define NGFragmentBase_h |
7 | 7 |
8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" |
9 #include "platform/LayoutUnit.h" | 9 #include "platform/LayoutUnit.h" |
10 #include "platform/heap/Handle.h" | 10 #include "platform/heap/Handle.h" |
11 #include "wtf/Vector.h" | 11 #include "wtf/Vector.h" |
12 | 12 |
13 namespace blink { | 13 namespace blink { |
14 | 14 |
15 class CORE_EXPORT NGFragment final : public GarbageCollected<NGFragment> { | 15 class CORE_EXPORT NGFragmentBase : public GarbageCollected<NGFragmentBase> { |
16 public: | 16 public: |
17 NGFragment(LayoutUnit inlineSize, | |
18 LayoutUnit blockSize, | |
19 LayoutUnit inlineOverflow, | |
20 LayoutUnit blockOverflow); | |
21 | |
22 // Returns the border-box size. | 17 // Returns the border-box size. |
23 LayoutUnit inlineSize() const { return m_inlineSize; } | 18 LayoutUnit inlineSize() const { return m_inlineSize; } |
24 LayoutUnit blockSize() const { return m_blockSize; } | 19 LayoutUnit blockSize() const { return m_blockSize; } |
25 | 20 |
26 // Returns the total size, including the contents outside of the border-box. | 21 // Returns the total size, including the contents outside of the border-box. |
27 LayoutUnit inlineOverflow() const { return m_inlineOverflow; } | 22 LayoutUnit inlineOverflow() const { return m_inlineOverflow; } |
28 LayoutUnit blockOverflow() const { return m_blockOverflow; } | 23 LayoutUnit blockOverflow() const { return m_blockOverflow; } |
29 | 24 |
30 // Returns the offset relative to the parent fragement's content-box. | 25 // Returns the offset relative to the parent fragement's content-box. |
31 LayoutUnit inlineOffset() const { return m_inlineOffset; } | 26 LayoutUnit inlineOffset() const { return m_inlineOffset; } |
32 LayoutUnit blockOffset() const { return m_blockOffset; } | 27 LayoutUnit blockOffset() const { return m_blockOffset; } |
33 | 28 |
34 // Should only be used by the parent fragement's layout. | 29 // Should only be used by the parent fragement's layout. |
35 void setOffset(LayoutUnit inlineOffset, LayoutUnit blockOffset); | 30 void setOffset(LayoutUnit inlineOffset, LayoutUnit blockOffset); |
36 | 31 |
| 32 DEFINE_INLINE_TRACE_AFTER_DISPATCH() {} |
37 DECLARE_TRACE(); | 33 DECLARE_TRACE(); |
38 | 34 |
39 private: | 35 protected: |
| 36 NGFragmentBase(LayoutUnit inlineSize, |
| 37 LayoutUnit blockSize, |
| 38 LayoutUnit inlineOverflow, |
| 39 LayoutUnit blockOverflow); |
| 40 |
40 LayoutUnit m_inlineSize; | 41 LayoutUnit m_inlineSize; |
41 LayoutUnit m_blockSize; | 42 LayoutUnit m_blockSize; |
42 | |
43 LayoutUnit m_inlineOverflow; | 43 LayoutUnit m_inlineOverflow; |
44 LayoutUnit m_blockOverflow; | 44 LayoutUnit m_blockOverflow; |
45 | |
46 LayoutUnit m_inlineOffset; | 45 LayoutUnit m_inlineOffset; |
47 LayoutUnit m_blockOffset; | 46 LayoutUnit m_blockOffset; |
48 | 47 bool m_isText; |
49 HeapVector<Member<const NGFragment>> m_children; | |
50 }; | 48 }; |
51 | 49 |
52 } // namespace blink | 50 } // namespace blink |
53 | 51 |
54 #endif // NGFragment_h | 52 #endif // NGFragmentBase_h |
OLD | NEW |