| Index: Source/core/css/CSSTokenizer.h
|
| diff --git a/Source/core/css/CSSTokenizer.h b/Source/core/css/CSSTokenizer.h
|
| index 5d8fae12e7f2bb08845b13c100431a4ce12411da..508bf71ee29bda242b128d9d466dc7bffb677fe1 100644
|
| --- a/Source/core/css/CSSTokenizer.h
|
| +++ b/Source/core/css/CSSTokenizer.h
|
| @@ -74,7 +74,7 @@ public:
|
| inline unsigned tokenStartOffset();
|
|
|
| private:
|
| - UChar*& currentCharacter16();
|
| + UChar* allocateStringBuffer16(size_t len);
|
|
|
| template <typename CharacterType>
|
| inline CharacterType*& currentCharacter();
|
| @@ -92,29 +92,33 @@ private:
|
| inline CSSParserLocation tokenLocation();
|
|
|
| template <typename CharacterType>
|
| - unsigned parseEscape(CharacterType*&);
|
| + static unsigned parseEscape(CharacterType*&);
|
| template <typename DestCharacterType>
|
| - inline void UnicodeToChars(DestCharacterType*&, unsigned);
|
| - template <typename SrcCharacterType, typename DestCharacterType>
|
| - inline bool parseIdentifierInternal(SrcCharacterType*&, DestCharacterType*&, bool&);
|
| + static inline void UnicodeToChars(DestCharacterType*&, unsigned);
|
|
|
| + template <typename SrcCharacterType, typename DestCharacterType>
|
| + static inline bool parseIdentifierInternal(SrcCharacterType*&, DestCharacterType*&, bool&);
|
| + template <typename SrcCharacterType>
|
| + static size_t peekMaxIdentifierLen(SrcCharacterType*);
|
| template <typename CharacterType>
|
| inline void parseIdentifier(CharacterType*&, CSSParserString&, bool&);
|
|
|
| + template <typename SrcCharacterType>
|
| + static size_t peekMaxStringLen(SrcCharacterType*, UChar quote);
|
| template <typename SrcCharacterType, typename DestCharacterType>
|
| - inline bool parseStringInternal(SrcCharacterType*&, DestCharacterType*&, UChar);
|
| -
|
| + static inline bool parseStringInternal(SrcCharacterType*&, DestCharacterType*&, UChar);
|
| template <typename CharacterType>
|
| inline void parseString(CharacterType*&, CSSParserString& resultString, UChar);
|
|
|
| template <typename CharacterType>
|
| inline bool findURI(CharacterType*& start, CharacterType*& end, UChar& quote);
|
| -
|
| + template <typename SrcCharacterType>
|
| + static size_t peekMaxURILen(SrcCharacterType*, UChar quote);
|
| template <typename SrcCharacterType, typename DestCharacterType>
|
| - inline bool parseURIInternal(SrcCharacterType*&, DestCharacterType*&, UChar quote);
|
| -
|
| + static inline bool parseURIInternal(SrcCharacterType*&, DestCharacterType*&, UChar quote);
|
| template <typename CharacterType>
|
| inline void parseURI(CSSParserString&);
|
| +
|
| template <typename CharacterType>
|
| inline bool parseUnicodeRange();
|
| template <typename CharacterType>
|
| @@ -155,6 +159,13 @@ private:
|
| OwnPtr<UChar[]> m_dataStart16;
|
| LChar* m_currentCharacter8;
|
| UChar* m_currentCharacter16;
|
| +
|
| + // During parsing of an ASCII stylesheet we might locate escape
|
| + // sequences that expand into UTF-16 code points. Strings,
|
| + // identifiers and URIs containing such escape sequences are
|
| + // stored in m_cssStrings16 so that we don't have to store the
|
| + // whole stylesheet as UTF-16.
|
| + Vector<OwnPtr<UChar[]> > m_cssStrings16;
|
| union {
|
| LChar* ptr8;
|
| UChar* ptr16;
|
|
|