Changeset 65358 in webkit
- Timestamp:
- Aug 13, 2010 11:26:10 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r65354 r65358 1 2010-08-13 Adam Barth <abarth@webkit.org> 2 3 Reviewed by Eric Seidel. 4 5 Rename some concepts in HTML entity search to be more self-documenting 6 https://bugs.webkit.org/show_bug.cgi?id=44004 7 8 Start and end are now first and last, which lets us use some better 9 names for the statics in HTMLEntityTable. 10 11 * html/HTMLEntityParser.cpp: 12 (WebCore::consumeHTMLEntity): 13 * html/HTMLEntitySearch.cpp: 14 (WebCore::HTMLEntitySearch::HTMLEntitySearch): 15 (WebCore::HTMLEntitySearch::findFirst): 16 (WebCore::HTMLEntitySearch::findLast): 17 (WebCore::HTMLEntitySearch::advance): 18 * html/HTMLEntitySearch.h: 19 (WebCore::HTMLEntitySearch::isEntityPrefix): 20 (WebCore::HTMLEntitySearch::mostRecentMatch): 21 (WebCore::HTMLEntitySearch::fail): 22 * html/HTMLEntityTable.h: 23 1 24 2010-08-13 Adam Barth <abarth@webkit.org> 2 25 -
trunk/WebCore/html/HTMLEntityParser.cpp
r65354 r65358 197 197 return 0; 198 198 } 199 if (!entitySearch. lastMatch()) {199 if (!entitySearch.mostRecentMatch()) { 200 200 ASSERT(!entitySearch.currentValue()); 201 201 unconsumeCharacters(source, consumedCharacters); 202 202 return 0; 203 203 } 204 if (entitySearch. lastMatch()->length != entitySearch.currentLength()) {204 if (entitySearch.mostRecentMatch()->length != entitySearch.currentLength()) { 205 205 // We've consumed too many characters. We need to walk the 206 206 // source back to the point at which we had consumed an … … 208 208 unconsumeCharacters(source, consumedCharacters); 209 209 consumedCharacters.clear(); 210 const int length = entitySearch. lastMatch()->length;211 const UChar* reference = entitySearch. lastMatch()->entity;210 const int length = entitySearch.mostRecentMatch()->length; 211 const UChar* reference = entitySearch.mostRecentMatch()->entity; 212 212 for (int i = 0; i < length; ++i) { 213 213 cc = *source; … … 219 219 cc = *source; 220 220 } 221 if (entitySearch. lastMatch()->lastCharacter() == ';')222 return entitySearch. lastMatch()->value;221 if (entitySearch.mostRecentMatch()->lastCharacter() == ';') 222 return entitySearch.mostRecentMatch()->value; 223 223 if (!additionalAllowedCharacter || !(isAlphaNumeric(cc) || cc == '=')) 224 return entitySearch. lastMatch()->value;224 return entitySearch.mostRecentMatch()->value; 225 225 unconsumeCharacters(source, consumedCharacters); 226 226 return 0; -
trunk/WebCore/html/HTMLEntitySearch.cpp
r65351 r65358 43 43 : m_currentLength(0) 44 44 , m_currentValue(0) 45 , m_ lastMatch(0)46 , m_ start(HTMLEntityTable::start())47 , m_ end(HTMLEntityTable::end())45 , m_mostRecentMatch(0) 46 , m_first(HTMLEntityTable::firstEntry()) 47 , m_last(HTMLEntityTable::lastEntry()) 48 48 { 49 49 } … … 59 59 } 60 60 61 const HTMLEntityTableEntry* HTMLEntitySearch::find Start(UChar nextCharacter) const61 const HTMLEntityTableEntry* HTMLEntitySearch::findFirst(UChar nextCharacter) const 62 62 { 63 const HTMLEntityTableEntry* left = m_ start;64 const HTMLEntityTableEntry* right = m_ end;63 const HTMLEntityTableEntry* left = m_first; 64 const HTMLEntityTableEntry* right = m_last; 65 65 if (left == right) 66 66 return left; … … 84 84 } 85 85 86 const HTMLEntityTableEntry* HTMLEntitySearch::find End(UChar nextCharacter) const86 const HTMLEntityTableEntry* HTMLEntitySearch::findLast(UChar nextCharacter) const 87 87 { 88 const HTMLEntityTableEntry* left = m_ start;89 const HTMLEntityTableEntry* right = m_ end;88 const HTMLEntityTableEntry* left = m_first; 89 const HTMLEntityTableEntry* right = m_last; 90 90 if (left == right) 91 91 return right; … … 113 113 ASSERT(isEntityPrefix()); 114 114 if (!m_currentLength) { 115 m_ start = HTMLEntityTable::start(nextCharacter);116 m_ end = HTMLEntityTable::end(nextCharacter);115 m_first = HTMLEntityTable::firstEntryStartingWith(nextCharacter); 116 m_last = HTMLEntityTable::lastEntryStartingWith(nextCharacter); 117 117 } else { 118 m_ start = findStart(nextCharacter);119 m_ end = findEnd(nextCharacter);120 if (m_ start == m_end && compare(m_start, nextCharacter) != Prefix)118 m_first = findFirst(nextCharacter); 119 m_last = findLast(nextCharacter); 120 if (m_first == m_last && compare(m_first, nextCharacter) != Prefix) 121 121 return fail(); 122 122 } 123 123 ++m_currentLength; 124 if (m_ start->length != m_currentLength) {124 if (m_first->length != m_currentLength) { 125 125 m_currentValue = 0; 126 126 return; 127 127 } 128 m_ lastMatch = m_start;129 m_currentValue = m_ lastMatch->value;128 m_mostRecentMatch = m_first; 129 m_currentValue = m_mostRecentMatch->value; 130 130 } 131 131 -
trunk/WebCore/html/HTMLEntitySearch.h
r65351 r65358 39 39 void advance(UChar); 40 40 41 bool isEntityPrefix() const { return !!m_ start; }41 bool isEntityPrefix() const { return !!m_first; } 42 42 int currentValue() const { return m_currentValue; } 43 43 int currentLength() const { return m_currentLength; } 44 44 45 const HTMLEntityTableEntry* lastMatch() const { return m_lastMatch; }45 const HTMLEntityTableEntry* mostRecentMatch() const { return m_mostRecentMatch; } 46 46 47 47 private: … … 53 53 54 54 CompareResult compare(const HTMLEntityTableEntry*, UChar) const; 55 const HTMLEntityTableEntry* find Start(UChar) const;56 const HTMLEntityTableEntry* find End(UChar) const;55 const HTMLEntityTableEntry* findFirst(UChar) const; 56 const HTMLEntityTableEntry* findLast(UChar) const; 57 57 58 58 void fail() 59 59 { 60 60 m_currentValue = 0; 61 m_ start = 0;62 m_ end= 0;61 m_first = 0; 62 m_last = 0; 63 63 } 64 64 … … 66 66 int m_currentValue; 67 67 68 const HTMLEntityTableEntry* m_ lastMatch;69 const HTMLEntityTableEntry* m_ start;70 const HTMLEntityTableEntry* m_ end;68 const HTMLEntityTableEntry* m_mostRecentMatch; 69 const HTMLEntityTableEntry* m_first; 70 const HTMLEntityTableEntry* m_last; 71 71 }; 72 72 -
trunk/WebCore/html/HTMLEntityTable.h
r65351 r65358 41 41 class HTMLEntityTable { 42 42 public: 43 static const HTMLEntityTableEntry* start();44 static const HTMLEntityTableEntry* end();43 static const HTMLEntityTableEntry* firstEntry(); 44 static const HTMLEntityTableEntry* lastEntry(); 45 45 46 static const HTMLEntityTableEntry* start(UChar);47 static const HTMLEntityTableEntry* end(UChar);46 static const HTMLEntityTableEntry* firstEntryStartingWith(UChar); 47 static const HTMLEntityTableEntry* lastEntryStartingWith(UChar); 48 48 }; 49 49 -
trunk/WebKitTools/ChangeLog
r65351 r65358 1 2010-08-13 Adam Barth <abarth@webkit.org> 2 3 Reviewed by Eric Seidel. 4 5 Rename some concepts in HTML entity search to be more self-documenting 6 https://bugs.webkit.org/show_bug.cgi?id=44004 7 8 Reflect name change in generator script. 9 10 * Scripts/create-html-entity-table: 11 1 12 2010-08-12 Adam Barth <abarth@webkit.org> 2 13 -
trunk/WebKitTools/Scripts/create-html-entity-table
r65351 r65358 146 146 } 147 147 148 const HTMLEntityTableEntry* HTMLEntityTable:: start(UChar c)148 const HTMLEntityTableEntry* HTMLEntityTable::firstEntryStartingWith(UChar c) 149 149 { 150 150 if (c >= 'A' && c <= 'Z') … … 155 155 } 156 156 157 const HTMLEntityTableEntry* HTMLEntityTable:: end(UChar c)157 const HTMLEntityTableEntry* HTMLEntityTable::lastEntryStartingWith(UChar c) 158 158 { 159 159 if (c >= 'A' && c <= 'Z') … … 164 164 } 165 165 166 const HTMLEntityTableEntry* HTMLEntityTable:: start()166 const HTMLEntityTableEntry* HTMLEntityTable::firstEntry() 167 167 { 168 168 return &staticEntityTable[0]; 169 169 } 170 170 171 const HTMLEntityTableEntry* HTMLEntityTable:: end()171 const HTMLEntityTableEntry* HTMLEntityTable::lastEntry() 172 172 { 173 173 return &staticEntityTable[%s - 1];
Note: See TracChangeset
for help on using the changeset viewer.