Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/ng/inline/ng_inline_items_builder.h |
| diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_items_builder.h b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_items_builder.h |
| index 87195e47d6e86f89ed62efaba12d89120f17619d..08d6b22dfdfbcc187e478ba899d5214c5d3cfe57 100644 |
| --- a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_items_builder.h |
| +++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_items_builder.h |
| @@ -6,6 +6,7 @@ |
| #define NGInlineItemsBuilder_h |
| #include "core/CoreExport.h" |
| +#include "core/layout/ng/api/empty_offset_mapping_builder.h" |
| #include "core/layout/ng/inline/ng_inline_node.h" |
| #include "platform/wtf/Allocator.h" |
| #include "platform/wtf/Vector.h" |
| @@ -27,12 +28,16 @@ class NGInlineItem; |
| // By calling EnterInline/ExitInline, it inserts bidirectional control |
| // characters as defined in: |
| // https://drafts.csswg.org/css-writing-modes-3/#bidi-control-codes-injection-table |
| -class CORE_EXPORT NGInlineItemsBuilder { |
| +// TODO(xiaochengh): Pass in a real offset mapping builder type and use it to |
| +// construct the whitespace-collapsed offset mapping. |
| +template <typename OffsetMappingBuilder> |
| +class CORE_TEMPLATE_CLASS_EXPORT NGInlineItemsBuilderTemplate { |
| STACK_ALLOCATED(); |
| public: |
| - explicit NGInlineItemsBuilder(Vector<NGInlineItem>* items) : items_(items) {} |
| - ~NGInlineItemsBuilder(); |
| + explicit NGInlineItemsBuilderTemplate(Vector<NGInlineItem>* items) |
| + : items_(items) {} |
| + ~NGInlineItemsBuilderTemplate(); |
| String ToString(); |
| @@ -85,6 +90,7 @@ class CORE_EXPORT NGInlineItemsBuilder { |
| private: |
| Vector<NGInlineItem>* items_; |
| StringBuilder text_; |
| + OffsetMappingBuilder mapping_builder_; |
|
yosin_UTC9
2017/06/28 03:37:11
Could you upload the patch which using |mapping_bu
Xiaocheng
2017/06/28 03:44:42
This is just a preparation patch that templatizes
|
| typedef struct OnExitNode { |
| LayoutObject* node; |
| @@ -128,6 +134,12 @@ class CORE_EXPORT NGInlineItemsBuilder { |
| void Exit(LayoutObject*); |
| }; |
| +extern template class CORE_EXTERN_TEMPLATE_EXPORT |
| + NGInlineItemsBuilderTemplate<EmptyOffsetMappingBuilder>; |
| + |
| +using NGInlineItemsBuilder = |
| + NGInlineItemsBuilderTemplate<EmptyOffsetMappingBuilder>; |
| + |
| } // namespace blink |
| #endif // NGInlineItemsBuilder_h |