| 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 2100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2111 validPrimitive = true; | 2111 validPrimitive = true; |
| 2112 break; | 2112 break; |
| 2113 case CSSPropertyFontFamily: | 2113 case CSSPropertyFontFamily: |
| 2114 // [[ <family-name> | <generic-family> ],]* [<family-name> | <generic-fa
mily>] | inherit | 2114 // [[ <family-name> | <generic-family> ],]* [<family-name> | <generic-fa
mily>] | inherit |
| 2115 { | 2115 { |
| 2116 parsedValue = parseFontFamily(); | 2116 parsedValue = parseFontFamily(); |
| 2117 break; | 2117 break; |
| 2118 } | 2118 } |
| 2119 | 2119 |
| 2120 case CSSPropertyTextDecoration: | 2120 case CSSPropertyTextDecoration: |
| 2121 // [ <text-decoration-line> || <text-decoration-style> || <text-decorati
on-color> ] | inherit |
| 2122 return parseShorthand(CSSPropertyTextDecoration, textDecorationShorthand
(), important); |
| 2123 |
| 2121 case CSSPropertyWebkitTextDecorationsInEffect: | 2124 case CSSPropertyWebkitTextDecorationsInEffect: |
| 2122 case CSSPropertyTextDecorationLine: | 2125 case CSSPropertyTextDecorationLine: |
| 2123 // none | [ underline || overline || line-through || blink ] | inherit | 2126 // none | [ underline || overline || line-through || blink ] | inherit |
| 2124 return parseTextDecoration(propId, important); | 2127 return parseTextDecoration(propId, important); |
| 2125 | 2128 |
| 2126 case CSSPropertyTextDecorationStyle: | 2129 case CSSPropertyTextDecorationStyle: |
| 2127 // solid | double | dotted | dashed | wavy | 2130 // solid | double | dotted | dashed | wavy |
| 2128 if (RuntimeEnabledFeatures::css3TextDecorationsEnabled() | 2131 if (RuntimeEnabledFeatures::css3TextDecorationsEnabled() |
| 2129 && (id == CSSValueSolid || id == CSSValueDouble || id == CSSValueDot
ted || id == CSSValueDashed || id == CSSValueWavy)) | 2132 && (id == CSSValueSolid || id == CSSValueDouble || id == CSSValueDot
ted || id == CSSValueDashed || id == CSSValueWavy)) |
| 2130 validPrimitive = true; | 2133 validPrimitive = true; |
| (...skipping 6717 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8848 addProperty(propId, value, important); | 8851 addProperty(propId, value, important); |
| 8849 } | 8852 } |
| 8850 | 8853 |
| 8851 bool CSSParser::parseTextDecoration(CSSPropertyID propId, bool important) | 8854 bool CSSParser::parseTextDecoration(CSSPropertyID propId, bool important) |
| 8852 { | 8855 { |
| 8853 if (propId == CSSPropertyTextDecorationLine | 8856 if (propId == CSSPropertyTextDecorationLine |
| 8854 && !RuntimeEnabledFeatures::css3TextDecorationsEnabled()) | 8857 && !RuntimeEnabledFeatures::css3TextDecorationsEnabled()) |
| 8855 return false; | 8858 return false; |
| 8856 | 8859 |
| 8857 CSSParserValue* value = m_valueList->current(); | 8860 CSSParserValue* value = m_valueList->current(); |
| 8858 if (value->id == CSSValueNone) { | 8861 if (value && value->id == CSSValueNone) { |
| 8859 addTextDecorationProperty(propId, cssValuePool().createIdentifierValue(C
SSValueNone), important); | 8862 addTextDecorationProperty(propId, cssValuePool().createIdentifierValue(C
SSValueNone), important); |
| 8860 m_valueList->next(); | 8863 m_valueList->next(); |
| 8861 return true; | 8864 return true; |
| 8862 } | 8865 } |
| 8863 | 8866 |
| 8864 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); | 8867 RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
| 8865 bool isValid = true; | 8868 bool isValid = true; |
| 8866 while (isValid && value) { | 8869 while (isValid && value) { |
| 8867 switch (value->id) { | 8870 switch (value->id) { |
| 8868 case CSSValueUnderline: | 8871 case CSSValueUnderline: |
| 8869 case CSSValueOverline: | 8872 case CSSValueOverline: |
| 8870 case CSSValueLineThrough: | 8873 case CSSValueLineThrough: |
| 8871 case CSSValueBlink: | 8874 case CSSValueBlink: |
| 8872 list->append(cssValuePool().createIdentifierValue(value->id)); | 8875 list->append(cssValuePool().createIdentifierValue(value->id)); |
| 8873 break; | 8876 break; |
| 8874 default: | 8877 default: |
| 8875 isValid = false; | 8878 isValid = false; |
| 8876 break; | 8879 break; |
| 8877 } | 8880 } |
| 8878 if (isValid) | 8881 if (isValid) |
| 8879 value = m_valueList->next(); | 8882 value = m_valueList->next(); |
| 8880 } | 8883 } |
| 8881 | 8884 |
| 8882 if (list->length() && isValid) { | 8885 // Values are either valid or in shorthand scope. |
| 8886 if (list->length() && (isValid || inShorthand())) { |
| 8883 addTextDecorationProperty(propId, list.release(), important); | 8887 addTextDecorationProperty(propId, list.release(), important); |
| 8884 return true; | 8888 return true; |
| 8885 } | 8889 } |
| 8886 | 8890 |
| 8887 return false; | 8891 return false; |
| 8888 } | 8892 } |
| 8889 | 8893 |
| 8890 #if ENABLE(CSS3_TEXT) | 8894 #if ENABLE(CSS3_TEXT) |
| 8891 bool CSSParser::parseTextUnderlinePosition(bool important) | 8895 bool CSSParser::parseTextUnderlinePosition(bool important) |
| 8892 { | 8896 { |
| (...skipping 2913 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11806 { | 11810 { |
| 11807 // The tokenizer checks for the construct of an+b. | 11811 // The tokenizer checks for the construct of an+b. |
| 11808 // However, since the {ident} rule precedes the {nth} rule, some of those | 11812 // However, since the {ident} rule precedes the {nth} rule, some of those |
| 11809 // tokens are identified as string literal. Furthermore we need to accept | 11813 // tokens are identified as string literal. Furthermore we need to accept |
| 11810 // "odd" and "even" which does not match to an+b. | 11814 // "odd" and "even" which does not match to an+b. |
| 11811 return equalIgnoringCase(token, "odd") || equalIgnoringCase(token, "even") | 11815 return equalIgnoringCase(token, "odd") || equalIgnoringCase(token, "even") |
| 11812 || equalIgnoringCase(token, "n") || equalIgnoringCase(token, "-n"); | 11816 || equalIgnoringCase(token, "n") || equalIgnoringCase(token, "-n"); |
| 11813 } | 11817 } |
| 11814 | 11818 |
| 11815 } | 11819 } |
| OLD | NEW |