| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2003 Lars Knoll (knoll@kde.org) | 2  * Copyright (C) 2003 Lars Knoll (knoll@kde.org) | 
| 3  * Copyright (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) | 3  * Copyright (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) | 
| 4  * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
      All rights reserved. | 4  * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
      All rights reserved. | 
| 5  * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> | 5  * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> | 
| 6  * Copyright (C) 2008 Eric Seidel <eric@webkit.org> | 6  * Copyright (C) 2008 Eric Seidel <eric@webkit.org> | 
| 7  * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
     bile.com/) | 7  * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
     bile.com/) | 
| 8  * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. | 8  * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. | 
| 9  * Copyright (C) 2012 Intel Corporation. All rights reserved. | 9  * Copyright (C) 2012 Intel Corporation. All rights reserved. | 
| 10  * | 10  * | 
| 11  * This library is free software; you can redistribute it and/or | 11  * This library is free software; you can redistribute it and/or | 
| 12  * modify it under the terms of the GNU Library General Public | 12  * modify it under the terms of the GNU Library General Public | 
| 13  * License as published by the Free Software Foundation; either | 13  * License as published by the Free Software Foundation; either | 
| 14  * version 2 of the License, or (at your option) any later version. | 14  * version 2 of the License, or (at your option) any later version. | 
| 15  * | 15  * | 
| 16  * This library is distributed in the hope that it will be useful, | 16  * This library is distributed in the hope that it will be useful, | 
| 17  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 17  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
| 19  * Library General Public License for more details. | 19  * Library General Public License for more details. | 
| 20  * | 20  * | 
| 21  * You should have received a copy of the GNU Library General Public License | 21  * You should have received a copy of the GNU Library General Public License | 
| 22  * along with this library; see the file COPYING.LIB.  If not, write to | 22  * along with this library; see the file COPYING.LIB.  If not, write to | 
| 23  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 23  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 
| 24  * Boston, MA 02110-1301, USA. | 24  * Boston, MA 02110-1301, USA. | 
| 25  */ | 25  */ | 
| 26 | 26 | 
| 27 #include "core/css/CSSMarkup.h" | 27 #include "core/css/CSSMarkup.h" | 
| 28 | 28 | 
|  | 29 #include "core/css/parser/CSSParserIdioms.h" | 
| 29 #include "wtf/HexNumber.h" | 30 #include "wtf/HexNumber.h" | 
| 30 #include "wtf/text/StringBuffer.h" | 31 #include "wtf/text/StringBuffer.h" | 
| 31 #include "wtf/text/StringBuilder.h" | 32 #include "wtf/text/StringBuilder.h" | 
| 32 | 33 | 
| 33 namespace blink { | 34 namespace blink { | 
| 34 | 35 | 
| 35 template <typename CharacterType> | 36 template <typename CharacterType> | 
| 36 static inline bool isCSSTokenizerIdentifier(const CharacterType* characters, uns
     igned length) | 37 static inline bool isCSSTokenizerIdentifier(const CharacterType* characters, uns
     igned length) | 
| 37 { | 38 { | 
| 38     const CharacterType* end = characters + length; | 39     const CharacterType* end = characters + length; | 
| 39 | 40 | 
| 40     // -? | 41     // -? | 
| 41     if (characters != end && characters[0] == '-') | 42     if (characters != end && characters[0] == '-') | 
| 42         ++characters; | 43         ++characters; | 
| 43 | 44 | 
| 44     // {nmstart} | 45     // {nmstart} | 
| 45     if (characters == end || !(characters[0] == '_' || characters[0] >= 128 || i
     sASCIIAlpha(characters[0]))) | 46     if (characters == end || !isNameStartCodePoint(characters[0])) | 
| 46         return false; | 47         return false; | 
| 47     ++characters; | 48     ++characters; | 
| 48 | 49 | 
| 49     // {nmchar}* | 50     // {nmchar}* | 
| 50     for (; characters != end; ++characters) { | 51     for (; characters != end; ++characters) { | 
| 51         if (!(characters[0] == '_' || characters[0] == '-' || characters[0] >= 1
     28 || isASCIIAlphanumeric(characters[0]))) | 52         if (!isNameCodePoint(characters[0])) | 
| 52             return false; | 53             return false; | 
| 53     } | 54     } | 
| 54 | 55 | 
| 55     return true; | 56     return true; | 
| 56 } | 57 } | 
| 57 | 58 | 
| 58 // "ident" from the CSS tokenizer, minus backslash-escape sequences | 59 // "ident" from the CSS tokenizer, minus backslash-escape sequences | 
| 59 static bool isCSSTokenizerIdentifier(const String& string) | 60 static bool isCSSTokenizerIdentifier(const String& string) | 
| 60 { | 61 { | 
| 61     unsigned length = string.length(); | 62     unsigned length = string.length(); | 
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 148 { | 149 { | 
| 149     return "url(" + serializeString(string) + ")"; | 150     return "url(" + serializeString(string) + ")"; | 
| 150 } | 151 } | 
| 151 | 152 | 
| 152 String serializeFontFamily(const String& string) | 153 String serializeFontFamily(const String& string) | 
| 153 { | 154 { | 
| 154     return isCSSTokenizerIdentifier(string) ? string : serializeString(string); | 155     return isCSSTokenizerIdentifier(string) ? string : serializeString(string); | 
| 155 } | 156 } | 
| 156 | 157 | 
| 157 } // namespace blink | 158 } // namespace blink | 
| OLD | NEW | 
|---|