| 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 3071 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3082 lval = list; | 3082 lval = list; |
| 3083 } | 3083 } |
| 3084 } | 3084 } |
| 3085 else | 3085 else |
| 3086 lval = rval; | 3086 lval = rval; |
| 3087 } | 3087 } |
| 3088 | 3088 |
| 3089 bool CSSParser::parseAnimationShorthand(CSSPropertyID propId, bool important) | 3089 bool CSSParser::parseAnimationShorthand(CSSPropertyID propId, bool important) |
| 3090 { | 3090 { |
| 3091 const StylePropertyShorthand& animationProperties = parsingShorthandForPrope
rty(propId); | 3091 const StylePropertyShorthand& animationProperties = parsingShorthandForPrope
rty(propId); |
| 3092 const unsigned numProperties = 7; | 3092 const unsigned numProperties = 8; |
| 3093 | 3093 |
| 3094 // The list of properties in the shorthand should be the same | 3094 // The list of properties in the shorthand should be the same |
| 3095 // length as the list with animation name in last position, even though they
are | 3095 // length as the list with animation name in last position, even though they
are |
| 3096 // in a different order. | 3096 // in a different order. |
| 3097 ASSERT(numProperties == animationProperties.length()); | 3097 ASSERT(numProperties == animationProperties.length()); |
| 3098 ASSERT(numProperties == shorthandForProperty(propId).length()); | 3098 ASSERT(numProperties == shorthandForProperty(propId).length()); |
| 3099 | 3099 |
| 3100 ShorthandScope scope(this, propId); | 3100 ShorthandScope scope(this, propId); |
| 3101 | 3101 |
| 3102 bool parsedProperty[numProperties] = { false }; | 3102 bool parsedProperty[numProperties] = { false }; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 3122 bool found = false; | 3122 bool found = false; |
| 3123 for (i = 0; i < numProperties; ++i) { | 3123 for (i = 0; i < numProperties; ++i) { |
| 3124 if (!parsedProperty[i]) { | 3124 if (!parsedProperty[i]) { |
| 3125 RefPtr<CSSValue> val; | 3125 RefPtr<CSSValue> val; |
| 3126 if (parseAnimationProperty(animationProperties.properties()[i],
val, context)) { | 3126 if (parseAnimationProperty(animationProperties.properties()[i],
val, context)) { |
| 3127 parsedProperty[i] = found = true; | 3127 parsedProperty[i] = found = true; |
| 3128 addAnimationValue(values[i], val.release()); | 3128 addAnimationValue(values[i], val.release()); |
| 3129 break; | 3129 break; |
| 3130 } | 3130 } |
| 3131 } | 3131 } |
| 3132 | |
| 3133 // There are more values to process but 'none' or 'all' were already
defined as the animation property, the declaration becomes invalid. | |
| 3134 if (!context.animationPropertyKeywordAllowed() && context.hasCommitt
edFirstAnimation()) | |
| 3135 return false; | |
| 3136 } | 3132 } |
| 3137 | 3133 |
| 3138 // if we didn't find at least one match, this is an | 3134 // if we didn't find at least one match, this is an |
| 3139 // invalid shorthand and we have to ignore it | 3135 // invalid shorthand and we have to ignore it |
| 3140 if (!found) | 3136 if (!found) |
| 3141 return false; | 3137 return false; |
| 3142 } | 3138 } |
| 3143 | 3139 |
| 3144 for (i = 0; i < numProperties; ++i) { | 3140 for (i = 0; i < numProperties; ++i) { |
| 3145 // If we didn't find the property, set an intial value. | 3141 // If we didn't find the property, set an intial value. |
| (...skipping 8798 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11944 { | 11940 { |
| 11945 // The tokenizer checks for the construct of an+b. | 11941 // The tokenizer checks for the construct of an+b. |
| 11946 // However, since the {ident} rule precedes the {nth} rule, some of those | 11942 // However, since the {ident} rule precedes the {nth} rule, some of those |
| 11947 // tokens are identified as string literal. Furthermore we need to accept | 11943 // tokens are identified as string literal. Furthermore we need to accept |
| 11948 // "odd" and "even" which does not match to an+b. | 11944 // "odd" and "even" which does not match to an+b. |
| 11949 return equalIgnoringCase(token, "odd") || equalIgnoringCase(token, "even") | 11945 return equalIgnoringCase(token, "odd") || equalIgnoringCase(token, "even") |
| 11950 || equalIgnoringCase(token, "n") || equalIgnoringCase(token, "-n"); | 11946 || equalIgnoringCase(token, "n") || equalIgnoringCase(token, "-n"); |
| 11951 } | 11947 } |
| 11952 | 11948 |
| 11953 } | 11949 } |
| OLD | NEW |