Chromium Code Reviews| Index: include/xml/SkXMLWriter.h |
| diff --git a/include/xml/SkXMLWriter.h b/include/xml/SkXMLWriter.h |
| index 214fefe86238bcd045d5b2ef4cc1bdda25a80699..593bc1ef3a601323a845f5bfc719e2818c56890d 100644 |
| --- a/include/xml/SkXMLWriter.h |
| +++ b/include/xml/SkXMLWriter.h |
| @@ -27,6 +27,7 @@ public: |
| void addAttributeLen(const char name[], const char value[], size_t length); |
| void addHexAttribute(const char name[], uint32_t value, int minDigits = 0); |
| void addScalarAttribute(const char name[], SkScalar value); |
| + void addText(const SkString& text); |
|
reed1
2015/02/04 01:05:23
addText(const char text[], size_t length)
That wo
f(malita)
2015/02/04 01:35:25
Done. I dropped the 'length' param to avoid conver
|
| void endElement() { this->onEndElement(); } |
| void startElement(const char elem[]); |
| void startElementLen(const char elem[], size_t length); |
| @@ -37,11 +38,18 @@ public: |
| protected: |
| virtual void onStartElementLen(const char elem[], size_t length) = 0; |
| virtual void onAddAttributeLen(const char name[], const char value[], size_t length) = 0; |
| + virtual void onAddText(const SkString& text) = 0; |
| virtual void onEndElement() = 0; |
| struct Elem { |
| + Elem(const char name[], size_t len) |
| + : fName(name, len) |
| + , fHasChildren(false) |
| + , fHasText(false) {} |
| + |
| SkString fName; |
| bool fHasChildren; |
| + bool fHasText; |
| }; |
| void doEnd(Elem* elem); |
| bool doStart(const char name[], size_t length); |
| @@ -65,6 +73,8 @@ protected: |
| virtual void onStartElementLen(const char elem[], size_t length); |
| virtual void onEndElement(); |
| virtual void onAddAttributeLen(const char name[], const char value[], size_t length); |
| + virtual void onAddText(const SkString& text) SK_OVERRIDE; |
| + |
| private: |
| SkWStream& fStream; |
| }; |
| @@ -77,6 +87,7 @@ protected: |
| virtual void onStartElementLen(const char elem[], size_t length); |
| virtual void onEndElement(); |
| virtual void onAddAttributeLen(const char name[], const char value[], size_t length); |
| + virtual void onAddText(const SkString& text) SK_OVERRIDE; |
| private: |
| SkXMLParser& fParser; |
| }; |