diff options
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.h | 23 |
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 |