summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/layout/ng/svg/svg_inline_node_data.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/layout/ng/svg/svg_inline_node_data.h')
-rw-r--r--chromium/third_party/blink/renderer/core/layout/ng/svg/svg_inline_node_data.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/chromium/third_party/blink/renderer/core/layout/ng/svg/svg_inline_node_data.h b/chromium/third_party/blink/renderer/core/layout/ng/svg/svg_inline_node_data.h
index 5ba58fffce5..7c63f21de9c 100644
--- a/chromium/third_party/blink/renderer/core/layout/ng/svg/svg_inline_node_data.h
+++ b/chromium/third_party/blink/renderer/core/layout/ng/svg/svg_inline_node_data.h
@@ -6,30 +6,39 @@
#define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_SVG_SVG_INLINE_NODE_DATA_H_
#include "third_party/blink/renderer/core/layout/ng/svg/ng_svg_character_data.h"
-#include "third_party/blink/renderer/core/layout/svg/layout_svg_text_path.h"
#include "third_party/blink/renderer/platform/heap/handle.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink {
-struct SVGTextPathRange {
+class LayoutObject;
+class LayoutText;
+
+struct SvgTextContentRange {
DISALLOW_NEW();
- const LayoutSVGTextPath* layout_svg_text_path;
+ // This must be a LayoutSVGTextPath for |SVGInlineNodeData::
+ // text_path_range_list|, and must be a LayoutObject for SVGTextContentElement
+ // for SVGInlineNodeData::text_length_range_list
+ const LayoutObject* layout_object;
unsigned start_index;
unsigned end_index;
};
} // namespace blink
-WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(blink::SVGTextPathRange)
+WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(blink::SvgTextContentRange)
namespace blink {
+using SvgTextChunkOffsets = HashMap<const LayoutText*, Vector<unsigned>>;
+
// SVG-specific data stored in NGInlineNodeData.
-struct SVGInlineNodeData final {
- Vector<std::pair<unsigned, NGSVGCharacterData>> character_data_list;
- Vector<SVGTextPathRange> text_path_range_list;
+struct SvgInlineNodeData final {
+ Vector<std::pair<unsigned, NGSvgCharacterData>> character_data_list;
+ Vector<SvgTextContentRange> text_length_range_list;
+ Vector<SvgTextContentRange> text_path_range_list;
+ SvgTextChunkOffsets chunk_offsets;
};
} // namespace blink