Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Side by Side Diff: Source/core/css/parser/CSSPropertyParser.cpp

Issue 98663004: Add support for unprefixed CSS Transforms (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 1086 matching lines...) Expand 10 before | Expand all | Expand 10 after
1097 validPrimitive = true; 1097 validPrimitive = true;
1098 else 1098 else
1099 validPrimitive = validUnit(value, FInteger | FNonNeg); 1099 validPrimitive = validUnit(value, FInteger | FNonNeg);
1100 break; 1100 break;
1101 case CSSPropertyInternalMarqueeSpeed: 1101 case CSSPropertyInternalMarqueeSpeed:
1102 if (id == CSSValueNormal || id == CSSValueSlow || id == CSSValueFast) 1102 if (id == CSSValueNormal || id == CSSValueSlow || id == CSSValueFast)
1103 validPrimitive = true; 1103 validPrimitive = true;
1104 else 1104 else
1105 validPrimitive = validUnit(value, FTime | FInteger | FNonNeg); 1105 validPrimitive = validUnit(value, FTime | FInteger | FNonNeg);
1106 break; 1106 break;
1107 case CSSPropertyTransform:
1107 case CSSPropertyWebkitTransform: 1108 case CSSPropertyWebkitTransform:
1108 if (id == CSSValueNone) 1109 if (id == CSSValueNone)
1109 validPrimitive = true; 1110 validPrimitive = true;
1110 else { 1111 else {
1111 RefPtrWillBeRawPtr<CSSValue> transformValue = parseTransform(); 1112 RefPtrWillBeRawPtr<CSSValue> transformValue = parseTransform(propId) ;
1112 if (transformValue) { 1113 if (transformValue) {
1113 addProperty(propId, transformValue.release(), important); 1114 addProperty(propId, transformValue.release(), important);
1114 return true; 1115 return true;
1115 } 1116 }
1116 return false; 1117 return false;
1117 } 1118 }
1118 break; 1119 break;
1120 case CSSPropertyTransformOrigin: {
1121 RefPtrWillBeRawPtr<CSSValueList> list = parseTransformOrigin();
1122 if (!list)
1123 return false;
1124 // These values are added to match gecko serialization.
1125 if (list->length() == 1)
1126 list->append(cssValuePool().createValue(50, CSSPrimitiveValue::CSS_P ERCENTAGE));
1127 if (list->length() == 2)
1128 list->append(cssValuePool().createValue(0, CSSPrimitiveValue::CSS_PX ));
1129 addProperty(propId, list.release(), important);
1130 return true;
1131 }
1119 case CSSPropertyWebkitTransformOrigin: 1132 case CSSPropertyWebkitTransformOrigin:
1120 case CSSPropertyWebkitTransformOriginX: 1133 case CSSPropertyWebkitTransformOriginX:
1121 case CSSPropertyWebkitTransformOriginY: 1134 case CSSPropertyWebkitTransformOriginY:
1122 case CSSPropertyWebkitTransformOriginZ: { 1135 case CSSPropertyWebkitTransformOriginZ: {
1123 RefPtrWillBeRawPtr<CSSValue> val1 = nullptr; 1136 RefPtrWillBeRawPtr<CSSValue> val1 = nullptr;
1124 RefPtrWillBeRawPtr<CSSValue> val2 = nullptr; 1137 RefPtrWillBeRawPtr<CSSValue> val2 = nullptr;
1125 RefPtrWillBeRawPtr<CSSValue> val3 = nullptr; 1138 RefPtrWillBeRawPtr<CSSValue> val3 = nullptr;
1126 CSSPropertyID propId1, propId2, propId3; 1139 CSSPropertyID propId1, propId2, propId3;
1127 if (parseTransformOrigin(propId, propId1, propId2, propId3, val1, val2, val3)) { 1140 if (parseWebkitTransformOrigin(propId, propId1, propId2, propId3, val1, val2, val3)) {
1128 addProperty(propId1, val1.release(), important); 1141 addProperty(propId1, val1.release(), important);
1129 if (val2) 1142 if (val2)
1130 addProperty(propId2, val2.release(), important); 1143 addProperty(propId2, val2.release(), important);
1131 if (val3) 1144 if (val3)
1132 addProperty(propId3, val3.release(), important); 1145 addProperty(propId3, val3.release(), important);
1133 return true; 1146 return true;
1134 } 1147 }
1135 return false; 1148 return false;
1136 } 1149 }
1137 case CSSPropertyWebkitPerspective: 1150 case CSSPropertyPerspective:
1138 if (id == CSSValueNone) 1151 if (id == CSSValueNone) {
1139 validPrimitive = true; 1152 validPrimitive = true;
1140 else { 1153 } else if (validUnit(value, FLength | FNonNeg)) {
1141 // Accepting valueless numbers is a quirk of the -webkit prefixed ve rsion of the property. 1154 addProperty(propId, createPrimitiveNumericValue(value), important);
1142 if (validUnit(value, FNumber | FLength | FNonNeg)) { 1155 return true;
1143 RefPtrWillBeRawPtr<CSSValue> val = createPrimitiveNumericValue(v alue);
1144 if (val) {
1145 addProperty(propId, val.release(), important);
1146 return true;
1147 }
1148 return false;
1149 }
1150 } 1156 }
1151 break; 1157 break;
1158 case CSSPropertyWebkitPerspective:
1159 if (id == CSSValueNone) {
1160 validPrimitive = true;
1161 } else if (validUnit(value, FNumber | FLength | FNonNeg)) {
1162 // Accepting valueless numbers is a quirk of the -webkit prefixed ve rsion of the property.
1163 addProperty(propId, createPrimitiveNumericValue(value), important);
1164 return true;
1165 }
1166 break;
1167 case CSSPropertyPerspectiveOrigin: {
1168 RefPtrWillBeRawPtr<CSSValueList> list = parseTransformOrigin();
1169 if (!list || list->length() == 3)
1170 return false;
1171 // This values are added to match gecko serialization.
1172 if (list->length() == 1)
1173 list->append(cssValuePool().createValue(50, CSSPrimitiveValue::CSS_P ERCENTAGE));
1174 addProperty(propId, list.release(), important);
1175 return true;
1176 }
1152 case CSSPropertyWebkitPerspectiveOrigin: 1177 case CSSPropertyWebkitPerspectiveOrigin:
1153 case CSSPropertyWebkitPerspectiveOriginX: 1178 case CSSPropertyWebkitPerspectiveOriginX:
1154 case CSSPropertyWebkitPerspectiveOriginY: { 1179 case CSSPropertyWebkitPerspectiveOriginY: {
1155 RefPtrWillBeRawPtr<CSSValue> val1 = nullptr; 1180 RefPtrWillBeRawPtr<CSSValue> val1 = nullptr;
1156 RefPtrWillBeRawPtr<CSSValue> val2 = nullptr; 1181 RefPtrWillBeRawPtr<CSSValue> val2 = nullptr;
1157 CSSPropertyID propId1, propId2; 1182 CSSPropertyID propId1, propId2;
1158 if (parsePerspectiveOrigin(propId, propId1, propId2, val1, val2)) { 1183 if (parseWebkitPerspectiveOrigin(propId, propId1, propId2, val1, val2)) {
1159 addProperty(propId1, val1.release(), important); 1184 addProperty(propId1, val1.release(), important);
1160 if (val2) 1185 if (val2)
1161 addProperty(propId2, val2.release(), important); 1186 addProperty(propId2, val2.release(), important);
1162 return true; 1187 return true;
1163 } 1188 }
1164 return false; 1189 return false;
1165 } 1190 }
1166 case CSSPropertyAnimationDelay: 1191 case CSSPropertyAnimationDelay:
1167 case CSSPropertyAnimationDirection: 1192 case CSSPropertyAnimationDirection:
1168 case CSSPropertyAnimationDuration: 1193 case CSSPropertyAnimationDuration:
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after
1543 case CSSPropertyTextOverflow: 1568 case CSSPropertyTextOverflow:
1544 case CSSPropertyTextOverlineMode: 1569 case CSSPropertyTextOverlineMode:
1545 case CSSPropertyTextOverlineStyle: 1570 case CSSPropertyTextOverlineStyle:
1546 case CSSPropertyTextRendering: 1571 case CSSPropertyTextRendering:
1547 case CSSPropertyTextTransform: 1572 case CSSPropertyTextTransform:
1548 case CSSPropertyTextUnderlineMode: 1573 case CSSPropertyTextUnderlineMode:
1549 case CSSPropertyTextUnderlineStyle: 1574 case CSSPropertyTextUnderlineStyle:
1550 case CSSPropertyTouchActionDelay: 1575 case CSSPropertyTouchActionDelay:
1551 case CSSPropertyVisibility: 1576 case CSSPropertyVisibility:
1552 case CSSPropertyWebkitAppearance: 1577 case CSSPropertyWebkitAppearance:
1578 case CSSPropertyBackfaceVisibility:
1553 case CSSPropertyWebkitBackfaceVisibility: 1579 case CSSPropertyWebkitBackfaceVisibility:
1554 case CSSPropertyWebkitBorderAfterStyle: 1580 case CSSPropertyWebkitBorderAfterStyle:
1555 case CSSPropertyWebkitBorderBeforeStyle: 1581 case CSSPropertyWebkitBorderBeforeStyle:
1556 case CSSPropertyWebkitBorderEndStyle: 1582 case CSSPropertyWebkitBorderEndStyle:
1557 case CSSPropertyWebkitBorderFit: 1583 case CSSPropertyWebkitBorderFit:
1558 case CSSPropertyWebkitBorderStartStyle: 1584 case CSSPropertyWebkitBorderStartStyle:
1559 case CSSPropertyWebkitBoxAlign: 1585 case CSSPropertyWebkitBoxAlign:
1560 case CSSPropertyWebkitBoxDecorationBreak: 1586 case CSSPropertyWebkitBoxDecorationBreak:
1561 case CSSPropertyWebkitBoxDirection: 1587 case CSSPropertyWebkitBoxDirection:
1562 case CSSPropertyWebkitBoxLines: 1588 case CSSPropertyWebkitBoxLines:
(...skipping 18 matching lines...) Expand all
1581 case CSSPropertyWebkitMarginBottomCollapse: 1607 case CSSPropertyWebkitMarginBottomCollapse:
1582 case CSSPropertyWebkitMarginTopCollapse: 1608 case CSSPropertyWebkitMarginTopCollapse:
1583 case CSSPropertyInternalMarqueeDirection: 1609 case CSSPropertyInternalMarqueeDirection:
1584 case CSSPropertyInternalMarqueeStyle: 1610 case CSSPropertyInternalMarqueeStyle:
1585 case CSSPropertyWebkitPrintColorAdjust: 1611 case CSSPropertyWebkitPrintColorAdjust:
1586 case CSSPropertyWebkitRtlOrdering: 1612 case CSSPropertyWebkitRtlOrdering:
1587 case CSSPropertyWebkitRubyPosition: 1613 case CSSPropertyWebkitRubyPosition:
1588 case CSSPropertyWebkitTextCombine: 1614 case CSSPropertyWebkitTextCombine:
1589 case CSSPropertyWebkitTextEmphasisPosition: 1615 case CSSPropertyWebkitTextEmphasisPosition:
1590 case CSSPropertyWebkitTextSecurity: 1616 case CSSPropertyWebkitTextSecurity:
1617 case CSSPropertyTransformStyle:
1591 case CSSPropertyWebkitTransformStyle: 1618 case CSSPropertyWebkitTransformStyle:
1592 case CSSPropertyWebkitUserDrag: 1619 case CSSPropertyWebkitUserDrag:
1593 case CSSPropertyWebkitUserModify: 1620 case CSSPropertyWebkitUserModify:
1594 case CSSPropertyWebkitUserSelect: 1621 case CSSPropertyWebkitUserSelect:
1595 case CSSPropertyWebkitWrapFlow: 1622 case CSSPropertyWebkitWrapFlow:
1596 case CSSPropertyWebkitWrapThrough: 1623 case CSSPropertyWebkitWrapThrough:
1597 case CSSPropertyWebkitWritingMode: 1624 case CSSPropertyWebkitWritingMode:
1598 case CSSPropertyWhiteSpace: 1625 case CSSPropertyWhiteSpace:
1599 case CSSPropertyWordBreak: 1626 case CSSPropertyWordBreak:
1600 case CSSPropertyWordWrap: 1627 case CSSPropertyWordWrap:
(...skipping 1492 matching lines...) Expand 10 before | Expand all | Expand 10 after
3093 return cssValuePool().createIdentifierValue(CSSValueAll); 3120 return cssValuePool().createIdentifierValue(CSSValueAll);
3094 } 3121 }
3095 if (equalIgnoringCase(value, "none")) { 3122 if (equalIgnoringCase(value, "none")) {
3096 context.commitAnimationPropertyKeyword(); 3123 context.commitAnimationPropertyKeyword();
3097 context.sawAnimationPropertyKeyword(); 3124 context.sawAnimationPropertyKeyword();
3098 return cssValuePool().createIdentifierValue(CSSValueNone); 3125 return cssValuePool().createIdentifierValue(CSSValueNone);
3099 } 3126 }
3100 return nullptr; 3127 return nullptr;
3101 } 3128 }
3102 3129
3103 bool CSSPropertyParser::parseTransformOriginShorthand(RefPtrWillBeRawPtr<CSSValu e>& value1, RefPtrWillBeRawPtr<CSSValue>& value2, RefPtrWillBeRawPtr<CSSValue>& value3) 3130 bool CSSPropertyParser::parseWebkitTransformOriginShorthand(RefPtrWillBeRawPtr<C SSValue>& value1, RefPtrWillBeRawPtr<CSSValue>& value2, RefPtrWillBeRawPtr<CSSVa lue>& value3)
3104 { 3131 {
3105 parse2ValuesFillPosition(m_valueList.get(), value1, value2); 3132 parse2ValuesFillPosition(m_valueList.get(), value1, value2);
3106 3133
3107 // now get z 3134 // now get z
3108 if (m_valueList->current()) { 3135 if (m_valueList->current()) {
3109 if (validUnit(m_valueList->current(), FLength)) { 3136 if (validUnit(m_valueList->current(), FLength)) {
3110 value3 = createPrimitiveNumericValue(m_valueList->current()); 3137 value3 = createPrimitiveNumericValue(m_valueList->current());
3111 m_valueList->next(); 3138 m_valueList->next();
3112 return true; 3139 return true;
3113 } 3140 }
(...skipping 4108 matching lines...) Expand 10 before | Expand all | Expand 10 after
7222 RefPtrWillBeRawPtr<CSSFilterValue> filterValue = parseBuiltinFilterA rguments(args, filterType); 7249 RefPtrWillBeRawPtr<CSSFilterValue> filterValue = parseBuiltinFilterA rguments(args, filterType);
7223 if (!filterValue) 7250 if (!filterValue)
7224 return nullptr; 7251 return nullptr;
7225 7252
7226 list->append(filterValue); 7253 list->append(filterValue);
7227 } 7254 }
7228 } 7255 }
7229 7256
7230 return list.release(); 7257 return list.release();
7231 } 7258 }
7259 PassRefPtrWillBeRawPtr<CSSValueList> CSSPropertyParser::parseTransformOrigin()
7260 {
7261 CSSParserValue* value = m_valueList->current();
7262 CSSValueID id = value->id;
7263 RefPtrWillBeRawPtr<CSSValue> xValue;
7264 RefPtrWillBeRawPtr<CSSValue> yValue;
7265 RefPtrWillBeRawPtr<CSSValue> zValue;
7266 if (id == CSSValueLeft || id == CSSValueRight) {
7267 xValue = cssValuePool().createIdentifierValue(id);
7268 } else if (id == CSSValueTop || id == CSSValueBottom) {
7269 yValue = cssValuePool().createIdentifierValue(id);
7270 } else if (id == CSSValueCenter) {
7271 // Unresolved as to whether this is X or Y.
7272 } else if (validUnit(value, FPercent | FLength)) {
7273 xValue = createPrimitiveNumericValue(value);
7274 } else {
7275 return nullptr;
7276 }
7232 7277
7233 bool CSSPropertyParser::parseTransformOrigin(CSSPropertyID propId, CSSPropertyID & propId1, CSSPropertyID& propId2, CSSPropertyID& propId3, RefPtrWillBeRawPtr<CS SValue>& value, RefPtrWillBeRawPtr<CSSValue>& value2, RefPtrWillBeRawPtr<CSSValu e>& value3) 7278 if ((value = m_valueList->next())) {
7279 id = value->id;
7280 if (!xValue && (id == CSSValueLeft || id == CSSValueRight)) {
7281 xValue = cssValuePool().createIdentifierValue(id);
7282 } else if (!yValue && (id == CSSValueTop || id == CSSValueBottom)) {
7283 yValue = cssValuePool().createIdentifierValue(id);
7284 } else if (id == CSSValueCenter) {
7285 // Resolved below.
7286 } else if (!yValue && validUnit(value, FPercent | FLength)) {
7287 yValue = createPrimitiveNumericValue(value);
7288 } else {
7289 return nullptr;
7290 }
7291
7292 // If X or Y have not been resolved, they must be center.
7293 if (!xValue)
7294 xValue = cssValuePool().createIdentifierValue(CSSValueCenter);
7295 if (!yValue)
7296 yValue = cssValuePool().createIdentifierValue(CSSValueCenter);
7297
7298 if ((value = m_valueList->next())) {
7299 if (!validUnit(value, FLength))
7300 return nullptr;
7301 zValue = createPrimitiveNumericValue(value);
7302
7303 if ((value = m_valueList->next()))
7304 return nullptr;
7305 }
7306 } else if (!xValue) {
7307 if (yValue) {
7308 xValue = cssValuePool().createValue(50, CSSPrimitiveValue::CSS_PERCE NTAGE);
7309 } else {
7310 xValue = cssValuePool().createIdentifierValue(CSSValueCenter);
7311 }
7312 }
7313
7314 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ;
7315 list->append(xValue.release());
7316 if (yValue)
7317 list->append(yValue.release());
7318 if (zValue)
7319 list->append(zValue.release());
7320 return list.release();
7321 }
7322
7323 bool CSSPropertyParser::parseWebkitTransformOrigin(CSSPropertyID propId, CSSProp ertyID& propId1, CSSPropertyID& propId2, CSSPropertyID& propId3, RefPtrWillBeRaw Ptr<CSSValue>& value, RefPtrWillBeRawPtr<CSSValue>& value2, RefPtrWillBeRawPtr<C SSValue>& value3)
7234 { 7324 {
7235 propId1 = propId; 7325 propId1 = propId;
7236 propId2 = propId; 7326 propId2 = propId;
7237 propId3 = propId; 7327 propId3 = propId;
7238 if (propId == CSSPropertyWebkitTransformOrigin) { 7328 if (propId == CSSPropertyWebkitTransformOrigin) {
7239 propId1 = CSSPropertyWebkitTransformOriginX; 7329 propId1 = CSSPropertyWebkitTransformOriginX;
7240 propId2 = CSSPropertyWebkitTransformOriginY; 7330 propId2 = CSSPropertyWebkitTransformOriginY;
7241 propId3 = CSSPropertyWebkitTransformOriginZ; 7331 propId3 = CSSPropertyWebkitTransformOriginZ;
7242 } 7332 }
7243 7333
7244 switch (propId) { 7334 switch (propId) {
7245 case CSSPropertyWebkitTransformOrigin: 7335 case CSSPropertyWebkitTransformOrigin:
7246 if (!parseTransformOriginShorthand(value, value2, value3)) 7336 if (!parseWebkitTransformOriginShorthand(value, value2, value3))
7247 return false; 7337 return false;
7248 // parseTransformOriginShorthand advances the m_valueList pointer 7338 // parseWebkitTransformOriginShorthand advances the m_valueList poin ter
7249 break; 7339 break;
7250 case CSSPropertyWebkitTransformOriginX: { 7340 case CSSPropertyWebkitTransformOriginX: {
7251 value = parseFillPositionX(m_valueList.get()); 7341 value = parseFillPositionX(m_valueList.get());
7252 if (value) 7342 if (value)
7253 m_valueList->next(); 7343 m_valueList->next();
7254 break; 7344 break;
7255 } 7345 }
7256 case CSSPropertyWebkitTransformOriginY: { 7346 case CSSPropertyWebkitTransformOriginY: {
7257 value = parseFillPositionY(m_valueList.get()); 7347 value = parseFillPositionY(m_valueList.get());
7258 if (value) 7348 if (value)
7259 m_valueList->next(); 7349 m_valueList->next();
7260 break; 7350 break;
7261 } 7351 }
7262 case CSSPropertyWebkitTransformOriginZ: { 7352 case CSSPropertyWebkitTransformOriginZ: {
7263 if (validUnit(m_valueList->current(), FLength)) 7353 if (validUnit(m_valueList->current(), FLength))
7264 value = createPrimitiveNumericValue(m_valueList->current()); 7354 value = createPrimitiveNumericValue(m_valueList->current());
7265 if (value) 7355 if (value)
7266 m_valueList->next(); 7356 m_valueList->next();
7267 break; 7357 break;
7268 } 7358 }
7269 default: 7359 default:
7270 ASSERT_NOT_REACHED(); 7360 ASSERT_NOT_REACHED();
7271 return false; 7361 return false;
7272 } 7362 }
7273 7363
7274 return value; 7364 return value;
7275 } 7365 }
7276 7366
7277 bool CSSPropertyParser::parsePerspectiveOrigin(CSSPropertyID propId, CSSProperty ID& propId1, CSSPropertyID& propId2, RefPtrWillBeRawPtr<CSSValue>& value, RefPtr WillBeRawPtr<CSSValue>& value2) 7367 bool CSSPropertyParser::parseWebkitPerspectiveOrigin(CSSPropertyID propId, CSSPr opertyID& propId1, CSSPropertyID& propId2, RefPtrWillBeRawPtr<CSSValue>& value, RefPtrWillBeRawPtr<CSSValue>& value2)
7278 { 7368 {
7279 propId1 = propId; 7369 propId1 = propId;
7280 propId2 = propId; 7370 propId2 = propId;
7281 if (propId == CSSPropertyWebkitPerspectiveOrigin) { 7371 if (propId == CSSPropertyWebkitPerspectiveOrigin) {
7282 propId1 = CSSPropertyWebkitPerspectiveOriginX; 7372 propId1 = CSSPropertyWebkitPerspectiveOriginX;
7283 propId2 = CSSPropertyWebkitPerspectiveOriginY; 7373 propId2 = CSSPropertyWebkitPerspectiveOriginY;
7284 } 7374 }
7285 7375
7286 switch (propId) { 7376 switch (propId) {
7287 case CSSPropertyWebkitPerspectiveOrigin: 7377 case CSSPropertyWebkitPerspectiveOrigin:
(...skipping 949 matching lines...) Expand 10 before | Expand all | Expand 10 after
8237 parsedValues->append(CSSPrimitiveValue::createIdentifier(CSSValueFill)); 8327 parsedValues->append(CSSPrimitiveValue::createIdentifier(CSSValueFill));
8238 if (!seenStroke) 8328 if (!seenStroke)
8239 parsedValues->append(CSSPrimitiveValue::createIdentifier(CSSValueStroke) ); 8329 parsedValues->append(CSSPrimitiveValue::createIdentifier(CSSValueStroke) );
8240 if (!seenMarkers) 8330 if (!seenMarkers)
8241 parsedValues->append(CSSPrimitiveValue::createIdentifier(CSSValueMarkers )); 8331 parsedValues->append(CSSPrimitiveValue::createIdentifier(CSSValueMarkers ));
8242 8332
8243 return parsedValues.release(); 8333 return parsedValues.release();
8244 } 8334 }
8245 8335
8246 } // namespace WebCore 8336 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/css/parser/CSSPropertyParser.h ('k') | Source/core/css/resolver/AnimatedStyleBuilder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698