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

Unified Diff: third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.h

Issue 1937043002: Remove the LayoutSVGInlineText* context in SVGTextLayoutAttributes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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/svg/SVGTextLayoutEngine.h
diff --git a/third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.h b/third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.h
index 368551b92dca49a54e16a0bc3aee9c6fcd40c012..5e61b7452bd663dd17b8a3de08953e453bf83be9 100644
--- a/third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.h
+++ b/third_party/WebKit/Source/core/layout/svg/SVGTextLayoutEngine.h
@@ -23,8 +23,6 @@
#include "core/layout/api/LineLayoutSVGInlineText.h"
#include "core/layout/svg/LayoutSVGInlineText.h"
#include "core/layout/svg/SVGTextFragment.h"
-#include "core/layout/svg/SVGTextLayoutAttributes.h"
-#include "core/layout/svg/SVGTextMetrics.h"
#include "wtf/Allocator.h"
#include "wtf/Vector.h"
@@ -36,6 +34,7 @@ class LayoutObject;
class PathPositionMapper;
class SVGInlineFlowBox;
class SVGInlineTextBox;
+class SVGTextMetrics;
// SVGTextLayoutEngine performs the second layout phase for SVG text.
//
@@ -49,11 +48,9 @@ class SVGTextLayoutEngine {
STACK_ALLOCATED();
WTF_MAKE_NONCOPYABLE(SVGTextLayoutEngine);
public:
- SVGTextLayoutEngine(Vector<SVGTextLayoutAttributes*>&);
+ SVGTextLayoutEngine(const Vector<LayoutSVGInlineText*>&);
~SVGTextLayoutEngine();
- Vector<SVGTextLayoutAttributes*>& layoutAttributes() { return m_layoutAttributes; }
-
void layoutCharactersInTextBoxes(InlineFlowBox* start);
void finishLayout();
@@ -71,13 +68,13 @@ private:
void layoutInlineTextBox(SVGInlineTextBox*);
void layoutTextOnLineOrPath(SVGInlineTextBox*, LineLayoutSVGInlineText, const ComputedStyle&);
- const SVGTextLayoutAttributes* nextLogicalAttributes();
- const SVGTextLayoutAttributes* currentLogicalCharacterMetrics(SVGTextMetrics&);
+ const LayoutSVGInlineText* nextLogicalTextNode();
+ const LayoutSVGInlineText* currentLogicalCharacterMetrics(SVGTextMetrics&);
void advanceToNextLogicalCharacter(const SVGTextMetrics&);
// Logical iteration state.
- Vector<SVGTextLayoutAttributes*>& m_layoutAttributes;
- unsigned m_layoutAttributesPosition;
+ const Vector<LayoutSVGInlineText*>& m_descendantTextNodes;
+ unsigned m_currentLogicalTextNodeIndex;
unsigned m_logicalCharacterOffset;
unsigned m_logicalMetricsListOffset;

Powered by Google App Engine
This is Rietveld 408576698