| 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 * |
| (...skipping 10297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10308 m_token = IDENT; | 10308 m_token = IDENT; |
| 10309 | 10309 |
| 10310 if (UNLIKELY(*currentCharacter<SrcCharacterType>() == '(')) { | 10310 if (UNLIKELY(*currentCharacter<SrcCharacterType>() == '(')) { |
| 10311 if (m_parsingMode == SupportsMode && !hasEscape) { | 10311 if (m_parsingMode == SupportsMode && !hasEscape) { |
| 10312 detectSupportsToken<SrcCharacterType>(result - tokenStart<SrcCha
racterType>()); | 10312 detectSupportsToken<SrcCharacterType>(result - tokenStart<SrcCha
racterType>()); |
| 10313 if (m_token != IDENT) | 10313 if (m_token != IDENT) |
| 10314 break; | 10314 break; |
| 10315 } | 10315 } |
| 10316 | 10316 |
| 10317 m_token = FUNCTION; | 10317 m_token = FUNCTION; |
| 10318 bool shouldSkipParenthesis = true; | 10318 if (!hasEscape) |
| 10319 if (!hasEscape) { | 10319 detectFunctionTypeToken<SrcCharacterType>(result - tokenStart<Sr
cCharacterType>()); |
| 10320 bool detected = detectFunctionTypeToken<SrcCharacterType>(result
- tokenStart<SrcCharacterType>()); | |
| 10321 if (!detected && m_parsingMode == MediaQueryMode) { | |
| 10322 // ... and(max-width: 480px) ... looks like a function, but
in fact it is not, | |
| 10323 // so run more detection code in the MediaQueryMode. | |
| 10324 detectMediaQueryToken<SrcCharacterType>(result - tokenStart<
SrcCharacterType>()); | |
| 10325 if (m_token == MEDIA_AND) | |
| 10326 shouldSkipParenthesis = false; | |
| 10327 } | |
| 10328 } | |
| 10329 | 10320 |
| 10330 if (LIKELY(shouldSkipParenthesis)) { | 10321 // Skip parenthesis |
| 10331 ++currentCharacter<SrcCharacterType>(); | 10322 ++currentCharacter<SrcCharacterType>(); |
| 10332 ++result; | 10323 ++result; |
| 10333 ++yylval->string.m_length; | 10324 ++yylval->string.m_length; |
| 10334 } | |
| 10335 | 10325 |
| 10336 if (token() == URI) { | 10326 if (token() == URI) { |
| 10337 m_token = FUNCTION; | 10327 m_token = FUNCTION; |
| 10338 // Check whether it is really an URI. | 10328 // Check whether it is really an URI. |
| 10339 if (yylval->string.is8Bit()) | 10329 if (yylval->string.is8Bit()) |
| 10340 parseURI<LChar>(yylval->string); | 10330 parseURI<LChar>(yylval->string); |
| 10341 else | 10331 else |
| 10342 parseURI<UChar>(yylval->string); | 10332 parseURI<UChar>(yylval->string); |
| 10343 } | 10333 } |
| 10344 } else if (UNLIKELY(m_parsingMode != NormalMode) && !hasEscape) { | 10334 } else if (UNLIKELY(m_parsingMode != NormalMode) && !hasEscape) { |
| (...skipping 1415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11760 { | 11750 { |
| 11761 // The tokenizer checks for the construct of an+b. | 11751 // The tokenizer checks for the construct of an+b. |
| 11762 // However, since the {ident} rule precedes the {nth} rule, some of those | 11752 // However, since the {ident} rule precedes the {nth} rule, some of those |
| 11763 // tokens are identified as string literal. Furthermore we need to accept | 11753 // tokens are identified as string literal. Furthermore we need to accept |
| 11764 // "odd" and "even" which does not match to an+b. | 11754 // "odd" and "even" which does not match to an+b. |
| 11765 return equalIgnoringCase(token, "odd") || equalIgnoringCase(token, "even") | 11755 return equalIgnoringCase(token, "odd") || equalIgnoringCase(token, "even") |
| 11766 || equalIgnoringCase(token, "n") || equalIgnoringCase(token, "-n"); | 11756 || equalIgnoringCase(token, "n") || equalIgnoringCase(token, "-n"); |
| 11767 } | 11757 } |
| 11768 | 11758 |
| 11769 } | 11759 } |
| OLD | NEW |