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

Unified Diff: third_party/WebKit/Source/core/layout/ng/inline/ng_inline_items_builder.h

Issue 2960673004: Templatize NGInlineItemsBuilder to take a OffsetMappingBuilder parameter (Closed)
Patch Set: Fix grammar Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698