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

Side by Side Diff: skia/xml/SkXMLPullParser.cpp

Issue 113827: Remove the remainder of the skia source code from the Chromium repo.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « skia/xml/SkXMLParser.cpp ('k') | skia/xml/SkXMLWriter.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #include "SkXMLParser.h"
2 #include "SkStream.h"
3
4 static void reset(SkXMLPullParser::Curr* curr)
5 {
6 curr->fEventType = SkXMLPullParser::ERROR;
7 curr->fName = "";
8 curr->fAttrInfoCount = 0;
9 curr->fIsWhitespace = false;
10 }
11
12 SkXMLPullParser::SkXMLPullParser() : fStream(NULL)
13 {
14 fCurr.fEventType = ERROR;
15 fDepth = -1;
16 }
17
18 SkXMLPullParser::SkXMLPullParser(SkStream* stream) : fStream(NULL)
19 {
20 fCurr.fEventType = ERROR;
21 fDepth = 0;
22
23 this->setStream(stream);
24 }
25
26 SkXMLPullParser::~SkXMLPullParser()
27 {
28 this->setStream(NULL);
29 }
30
31 SkStream* SkXMLPullParser::setStream(SkStream* stream)
32 {
33 if (fStream && !stream)
34 this->onExit();
35
36 SkRefCnt_SafeAssign(fStream, stream);
37
38 if (fStream)
39 {
40 fCurr.fEventType = START_DOCUMENT;
41 this->onInit();
42 }
43 else
44 {
45 fCurr.fEventType = ERROR;
46 }
47 fDepth = 0;
48
49 return fStream;
50 }
51
52 SkXMLPullParser::EventType SkXMLPullParser::nextToken()
53 {
54 switch (fCurr.fEventType) {
55 case ERROR:
56 case END_DOCUMENT:
57 break;
58 case END_TAG:
59 fDepth -= 1;
60 // fall through
61 default:
62 reset(&fCurr);
63 fCurr.fEventType = this->onNextToken();
64 break;
65 }
66
67 switch (fCurr.fEventType) {
68 case START_TAG:
69 fDepth += 1;
70 break;
71 default:
72 break;
73 }
74
75 return fCurr.fEventType;
76 }
77
78 const char* SkXMLPullParser::getName()
79 {
80 switch (fCurr.fEventType) {
81 case START_TAG:
82 case END_TAG:
83 return fCurr.fName;
84 default:
85 return NULL;
86 }
87 }
88
89 const char* SkXMLPullParser::getText()
90 {
91 switch (fCurr.fEventType) {
92 case TEXT:
93 case IGNORABLE_WHITESPACE:
94 return fCurr.fName;
95 default:
96 return NULL;
97 }
98 }
99
100 bool SkXMLPullParser::isWhitespace()
101 {
102 switch (fCurr.fEventType) {
103 case IGNORABLE_WHITESPACE:
104 return true;
105 case TEXT:
106 case CDSECT:
107 return fCurr.fIsWhitespace;
108 default:
109 return false; // unknown/illegal
110 }
111 }
112
113 int SkXMLPullParser::getAttributeCount()
114 {
115 return fCurr.fAttrInfoCount;
116 }
117
118 void SkXMLPullParser::getAttributeInfo(int index, AttrInfo* info)
119 {
120 SkASSERT((unsigned)index < (unsigned)fCurr.fAttrInfoCount);
121
122 if (info)
123 *info = fCurr.fAttrInfos[index];
124 }
125
126 bool SkXMLPullParser::onEntityReplacement(const char name[],
127 SkString* replacement)
128 {
129 // TODO: std 5 entities here
130 return false;
131 }
132
OLDNEW
« no previous file with comments | « skia/xml/SkXMLParser.cpp ('k') | skia/xml/SkXMLWriter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698