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 2163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2174 // none | [ underline || overline || line-through || blink ] | inherit | 2174 // none | [ underline || overline || line-through || blink ] | inherit |
2175 return parseTextDecoration(propId, important); | 2175 return parseTextDecoration(propId, important); |
2176 | 2176 |
2177 case CSSPropertyTextDecorationStyle: | 2177 case CSSPropertyTextDecorationStyle: |
2178 // solid | double | dotted | dashed | wavy | 2178 // solid | double | dotted | dashed | wavy |
2179 if (RuntimeEnabledFeatures::css3TextDecorationsEnabled() | 2179 if (RuntimeEnabledFeatures::css3TextDecorationsEnabled() |
2180 && (id == CSSValueSolid || id == CSSValueDouble || id == CSSValueDot
ted || id == CSSValueDashed || id == CSSValueWavy)) | 2180 && (id == CSSValueSolid || id == CSSValueDouble || id == CSSValueDot
ted || id == CSSValueDashed || id == CSSValueWavy)) |
2181 validPrimitive = true; | 2181 validPrimitive = true; |
2182 break; | 2182 break; |
2183 | 2183 |
2184 #if ENABLE(CSS3_TEXT) | 2184 case CSSPropertyTextUnderlinePosition: |
2185 case CSSPropertyWebkitTextUnderlinePosition: | |
2186 // auto | alphabetic | under | 2185 // auto | alphabetic | under |
2187 return parseTextUnderlinePosition(important); | 2186 if (RuntimeEnabledFeatures::css3TextDecorationsEnabled()) |
2188 #endif // CSS3_TEXT | 2187 return parseTextUnderlinePosition(important); |
| 2188 return false; |
2189 | 2189 |
2190 case CSSPropertyZoom: // normal | reset | document | <number> | <pe
rcentage> | inherit | 2190 case CSSPropertyZoom: // normal | reset | document | <number> | <pe
rcentage> | inherit |
2191 if (id == CSSValueNormal || id == CSSValueReset || id == CSSValueDocumen
t) | 2191 if (id == CSSValueNormal || id == CSSValueReset || id == CSSValueDocumen
t) |
2192 validPrimitive = true; | 2192 validPrimitive = true; |
2193 else | 2193 else |
2194 validPrimitive = (!id && validUnit(value, FNumber | FPercent | FNonN
eg, HTMLStandardMode)); | 2194 validPrimitive = (!id && validUnit(value, FNumber | FPercent | FNonN
eg, HTMLStandardMode)); |
2195 break; | 2195 break; |
2196 | 2196 |
2197 case CSSPropertySrc: // Only used within @font-face and @-webkit-filter, so
cannot use inherit | initial or be !important. This is a list of urls or local r
eferences. | 2197 case CSSPropertySrc: // Only used within @font-face and @-webkit-filter, so
cannot use inherit | initial or be !important. This is a list of urls or local r
eferences. |
2198 if (m_inFilterRule) | 2198 if (m_inFilterRule) |
(...skipping 6926 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9125 | 9125 |
9126 // Values are either valid or in shorthand scope. | 9126 // Values are either valid or in shorthand scope. |
9127 if (list->length() && (isValid || inShorthand())) { | 9127 if (list->length() && (isValid || inShorthand())) { |
9128 addTextDecorationProperty(propId, list.release(), important); | 9128 addTextDecorationProperty(propId, list.release(), important); |
9129 return true; | 9129 return true; |
9130 } | 9130 } |
9131 | 9131 |
9132 return false; | 9132 return false; |
9133 } | 9133 } |
9134 | 9134 |
9135 #if ENABLE(CSS3_TEXT) | |
9136 bool CSSParser::parseTextUnderlinePosition(bool important) | 9135 bool CSSParser::parseTextUnderlinePosition(bool important) |
9137 { | 9136 { |
9138 // The text-underline-position property has sintax "auto | alphabetic | [ un
der || [ left | right ] ]". | 9137 // The text-underline-position property has sintax "auto | alphabetic | [ un
der || [ left | right ] ]". |
9139 // However, values 'left' and 'right' are not implemented yet, so we will pa
rse sintax | 9138 // However, values 'left' and 'right' are not implemented yet, so we will pa
rse sintax |
9140 // "auto | alphabetic | under" for now. | 9139 // "auto | alphabetic | under" for now. |
9141 CSSParserValue* value = m_valueList->current(); | 9140 CSSParserValue* value = m_valueList->current(); |
9142 switch (value->id) { | 9141 switch (value->id) { |
9143 case CSSValueAuto: | 9142 case CSSValueAuto: |
9144 case CSSValueAlphabetic: | 9143 case CSSValueAlphabetic: |
9145 case CSSValueUnder: | 9144 case CSSValueUnder: |
9146 if (m_valueList->next()) | 9145 if (m_valueList->next()) |
9147 return false; | 9146 return false; |
9148 | 9147 addProperty(CSSPropertyTextUnderlinePosition, cssValuePool().createIdent
ifierValue(value->id), important); |
9149 addProperty(CSSPropertyWebkitTextUnderlinePosition, cssValuePool().creat
eIdentifierValue(value->id), important); | |
9150 return true; | 9148 return true; |
| 9149 default: |
| 9150 return false; |
9151 } | 9151 } |
9152 return false; | |
9153 } | 9152 } |
9154 #endif // CSS3_TEXT | |
9155 | 9153 |
9156 bool CSSParser::parseTextEmphasisStyle(bool important) | 9154 bool CSSParser::parseTextEmphasisStyle(bool important) |
9157 { | 9155 { |
9158 unsigned valueListSize = m_valueList->size(); | 9156 unsigned valueListSize = m_valueList->size(); |
9159 | 9157 |
9160 RefPtr<CSSPrimitiveValue> fill; | 9158 RefPtr<CSSPrimitiveValue> fill; |
9161 RefPtr<CSSPrimitiveValue> shape; | 9159 RefPtr<CSSPrimitiveValue> shape; |
9162 | 9160 |
9163 for (CSSParserValue* value = m_valueList->current(); value; value = m_valueL
ist->next()) { | 9161 for (CSSParserValue* value = m_valueList->current(); value; value = m_valueL
ist->next()) { |
9164 if (value->unit == CSSPrimitiveValue::CSS_STRING) { | 9162 if (value->unit == CSSPrimitiveValue::CSS_STRING) { |
(...skipping 2790 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11955 { | 11953 { |
11956 // The tokenizer checks for the construct of an+b. | 11954 // The tokenizer checks for the construct of an+b. |
11957 // However, since the {ident} rule precedes the {nth} rule, some of those | 11955 // However, since the {ident} rule precedes the {nth} rule, some of those |
11958 // tokens are identified as string literal. Furthermore we need to accept | 11956 // tokens are identified as string literal. Furthermore we need to accept |
11959 // "odd" and "even" which does not match to an+b. | 11957 // "odd" and "even" which does not match to an+b. |
11960 return equalIgnoringCase(token, "odd") || equalIgnoringCase(token, "even") | 11958 return equalIgnoringCase(token, "odd") || equalIgnoringCase(token, "even") |
11961 || equalIgnoringCase(token, "n") || equalIgnoringCase(token, "-n"); | 11959 || equalIgnoringCase(token, "n") || equalIgnoringCase(token, "-n"); |
11962 } | 11960 } |
11963 | 11961 |
11964 } | 11962 } |
OLD | NEW |