| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google, Inc. All Rights Reserved. | 2 * Copyright (C) 2013 Google, Inc. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 } | 43 } |
| 44 | 44 |
| 45 class HTMLToken { | 45 class HTMLToken { |
| 46 WTF_MAKE_NONCOPYABLE(HTMLToken); | 46 WTF_MAKE_NONCOPYABLE(HTMLToken); |
| 47 WTF_MAKE_FAST_ALLOCATED; | 47 WTF_MAKE_FAST_ALLOCATED; |
| 48 public: | 48 public: |
| 49 enum Type { | 49 enum Type { |
| 50 Uninitialized, | 50 Uninitialized, |
| 51 StartTag, | 51 StartTag, |
| 52 EndTag, | 52 EndTag, |
| 53 Comment, | |
| 54 Character, | 53 Character, |
| 55 EndOfFile, | 54 EndOfFile, |
| 56 }; | 55 }; |
| 57 | 56 |
| 58 class Attribute { | 57 class Attribute { |
| 59 public: | 58 public: |
| 60 class Range { | 59 class Range { |
| 61 public: | 60 public: |
| 62 int start; | 61 int start; |
| 63 int end; | 62 int end; |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 m_baseOffset = offset; | 106 m_baseOffset = offset; |
| 108 } | 107 } |
| 109 | 108 |
| 110 void end(int endOffset) | 109 void end(int endOffset) |
| 111 { | 110 { |
| 112 m_range.end = endOffset - m_baseOffset; | 111 m_range.end = endOffset - m_baseOffset; |
| 113 } | 112 } |
| 114 | 113 |
| 115 const DataVector& data() const | 114 const DataVector& data() const |
| 116 { | 115 { |
| 117 ASSERT(m_type == Character || m_type == Comment || m_type == StartTag ||
m_type == EndTag); | 116 ASSERT(m_type == Character || m_type == StartTag || m_type == EndTag); |
| 118 return m_data; | 117 return m_data; |
| 119 } | 118 } |
| 120 | 119 |
| 121 bool isAll8BitData() const | 120 bool isAll8BitData() const |
| 122 { | 121 { |
| 123 return (m_orAllData <= 0xff); | 122 return (m_orAllData <= 0xff); |
| 124 } | 123 } |
| 125 | 124 |
| 126 const DataVector& name() const | 125 const DataVector& name() const |
| 127 { | 126 { |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 m_data.append(character); | 290 m_data.append(character); |
| 292 m_orAllData |= character; | 291 m_orAllData |= character; |
| 293 } | 292 } |
| 294 | 293 |
| 295 void appendToCharacter(const Vector<LChar, 32>& characters) | 294 void appendToCharacter(const Vector<LChar, 32>& characters) |
| 296 { | 295 { |
| 297 ASSERT(m_type == Character); | 296 ASSERT(m_type == Character); |
| 298 m_data.appendVector(characters); | 297 m_data.appendVector(characters); |
| 299 } | 298 } |
| 300 | 299 |
| 301 /* Comment Tokens */ | |
| 302 | |
| 303 const DataVector& comment() const | |
| 304 { | |
| 305 ASSERT(m_type == Comment); | |
| 306 return m_data; | |
| 307 } | |
| 308 | |
| 309 void beginComment() | |
| 310 { | |
| 311 ASSERT(m_type == Uninitialized); | |
| 312 m_type = Comment; | |
| 313 } | |
| 314 | |
| 315 void appendToComment(UChar character) | |
| 316 { | |
| 317 ASSERT(character); | |
| 318 ASSERT(m_type == Comment); | |
| 319 m_data.append(character); | |
| 320 m_orAllData |= character; | |
| 321 } | |
| 322 | |
| 323 private: | 300 private: |
| 324 Type m_type; | 301 Type m_type; |
| 325 Attribute::Range m_range; // Always starts at zero. | 302 Attribute::Range m_range; // Always starts at zero. |
| 326 int m_baseOffset; | 303 int m_baseOffset; |
| 327 DataVector m_data; | 304 DataVector m_data; |
| 328 UChar m_orAllData; | 305 UChar m_orAllData; |
| 329 | 306 |
| 330 // For StartTag and EndTag | 307 // For StartTag and EndTag |
| 331 bool m_selfClosing; | 308 bool m_selfClosing; |
| 332 AttributeList m_attributes; | 309 AttributeList m_attributes; |
| 333 | 310 |
| 334 // A pointer into m_attributes used during lexing. | 311 // A pointer into m_attributes used during lexing. |
| 335 Attribute* m_currentAttribute; | 312 Attribute* m_currentAttribute; |
| 336 }; | 313 }; |
| 337 | 314 |
| 338 } | 315 } |
| 339 | 316 |
| 340 #endif | 317 #endif |
| OLD | NEW |