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

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

Issue 2234833003: [LayoutNG] Add base class for NGFragment and NGText (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add ng_fragment_base.cc to gypi Created 4 years, 4 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 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
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/ng/ng_fragment.cc ('k') | third_party/WebKit/Source/core/layout/ng/ng_fragment_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698