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

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

Issue 2960673004: Templatize NGInlineItemsBuilder to take a OffsetMappingBuilder parameter (Closed)
Patch Set: Move EmptyOffsetMappingBuilder to ng/inline/ Created 3 years, 5 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
« no previous file with comments | « third_party/WebKit/Source/core/layout/ng/inline/ng_inline_items_builder.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 NGInlineNode_h 5 #ifndef NGInlineNode_h
6 #define NGInlineNode_h 6 #define NGInlineNode_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/layout/ng/inline/ng_inline_item.h" 9 #include "core/layout/ng/inline/ng_inline_item.h"
10 #include "core/layout/ng/inline/ng_inline_node_data.h" 10 #include "core/layout/ng/inline/ng_inline_node_data.h"
11 #include "core/layout/ng/layout_ng_block_flow.h" 11 #include "core/layout/ng/layout_ng_block_flow.h"
12 #include "core/layout/ng/ng_layout_input_node.h" 12 #include "core/layout/ng/ng_layout_input_node.h"
13 #include "platform/heap/Handle.h" 13 #include "platform/heap/Handle.h"
14 #include "platform/wtf/text/WTFString.h" 14 #include "platform/wtf/text/WTFString.h"
15 15
16 namespace blink { 16 namespace blink {
17 17
18 template <typename OffsetMappingBuilder>
19 class NGInlineItemsBuilderTemplate;
20
21 class EmptyOffsetMappingBuilder;
18 class LayoutBlockFlow; 22 class LayoutBlockFlow;
19 class LayoutNGBlockFlow; 23 class LayoutNGBlockFlow;
20 class LayoutObject; 24 class LayoutObject;
21 struct MinMaxContentSize; 25 struct MinMaxContentSize;
22 class NGConstraintSpace; 26 class NGConstraintSpace;
23 class NGInlineItem; 27 class NGInlineItem;
24 class NGInlineItemRange; 28 class NGInlineItemRange;
25 class NGInlineItemsBuilder; 29 using NGInlineItemsBuilder =
30 NGInlineItemsBuilderTemplate<EmptyOffsetMappingBuilder>;
26 class NGLayoutResult; 31 class NGLayoutResult;
27 32
28 // Represents an anonymous block box to be laid out, that contains consecutive 33 // Represents an anonymous block box to be laid out, that contains consecutive
29 // inline nodes and their descendants. 34 // inline nodes and their descendants.
30 class CORE_EXPORT NGInlineNode : public NGLayoutInputNode { 35 class CORE_EXPORT NGInlineNode : public NGLayoutInputNode {
31 public: 36 public:
32 NGInlineNode(LayoutNGBlockFlow*, LayoutObject*); 37 NGInlineNode(LayoutNGBlockFlow*, LayoutObject*);
33 38
34 LayoutBlockFlow* GetLayoutBlockFlow() const { 39 LayoutBlockFlow* GetLayoutBlockFlow() const {
35 return ToLayoutBlockFlow(box_); 40 return ToLayoutBlockFlow(box_);
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 108
104 DEFINE_TYPE_CASTS(NGInlineNode, 109 DEFINE_TYPE_CASTS(NGInlineNode,
105 NGLayoutInputNode, 110 NGLayoutInputNode,
106 node, 111 node,
107 node->IsInline(), 112 node->IsInline(),
108 node.IsInline()); 113 node.IsInline());
109 114
110 } // namespace blink 115 } // namespace blink
111 116
112 #endif // NGInlineNode_h 117 #endif // NGInlineNode_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/ng/inline/ng_inline_items_builder.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698