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 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
319 || (value->unit >= CSSPrimitiveValue::CSS_DPPX && value->unit <= CSSPrim itiveValue::CSS_DPCM)); | 319 || (value->unit >= CSSPrimitiveValue::CSS_DPPX && value->unit <= CSSPrim itiveValue::CSS_DPCM)); |
320 return cssValuePool().createValue(value->fValue, static_cast<CSSPrimitiveVal ue::UnitType>(value->unit)); | 320 return cssValuePool().createValue(value->fValue, static_cast<CSSPrimitiveVal ue::UnitType>(value->unit)); |
321 } | 321 } |
322 | 322 |
323 inline PassRefPtrWillBeRawPtr<CSSPrimitiveValue> CSSPropertyParser::createPrimit iveStringValue(CSSParserValue* value) | 323 inline PassRefPtrWillBeRawPtr<CSSPrimitiveValue> CSSPropertyParser::createPrimit iveStringValue(CSSParserValue* value) |
324 { | 324 { |
325 ASSERT(value->unit == CSSPrimitiveValue::CSS_STRING || value->unit == CSSPri mitiveValue::CSS_IDENT); | 325 ASSERT(value->unit == CSSPrimitiveValue::CSS_STRING || value->unit == CSSPri mitiveValue::CSS_IDENT); |
326 return cssValuePool().createValue(value->string, CSSPrimitiveValue::CSS_STRI NG); | 326 return cssValuePool().createValue(value->string, CSSPrimitiveValue::CSS_STRI NG); |
327 } | 327 } |
328 | 328 |
329 inline PassRefPtrWillBeRawPtr<CSSPrimitiveValue> CSSPropertyParser::createPrimit iveCustomIdentValue(CSSParserValue* value) | |
330 { | |
331 ASSERT(value->unit == CSSPrimitiveValue::CSS_STRING || value->unit == CSSPri mitiveValue::CSS_IDENT); | |
332 return cssValuePool().createValue(value->string, CSSPrimitiveValue::CSS_CUST OM_IDENT); | |
333 } | |
334 | |
329 inline PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::createCSSImageValueWi thReferrer(const String& rawValue, const KURL& url) | 335 inline PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::createCSSImageValueWi thReferrer(const String& rawValue, const KURL& url) |
330 { | 336 { |
331 RefPtrWillBeRawPtr<CSSValue> imageValue = CSSImageValue::create(rawValue, ur l); | 337 RefPtrWillBeRawPtr<CSSValue> imageValue = CSSImageValue::create(rawValue, ur l); |
332 toCSSImageValue(imageValue.get())->setReferrer(m_context.referrer()); | 338 toCSSImageValue(imageValue.get())->setReferrer(m_context.referrer()); |
333 return imageValue; | 339 return imageValue; |
334 } | 340 } |
335 | 341 |
336 static inline bool isComma(CSSParserValue* value) | 342 static inline bool isComma(CSSParserValue* value) |
337 { | 343 { |
338 ASSERT(value); | 344 ASSERT(value); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
379 if (id == CSSValueIntrinsic || id == CSSValueMinIntrinsic || id == CSSValueW ebkitMinContent || id == CSSValueWebkitMaxContent || id == CSSValueWebkitFillAva ilable || id == CSSValueWebkitFitContent) | 385 if (id == CSSValueIntrinsic || id == CSSValueMinIntrinsic || id == CSSValueW ebkitMinContent || id == CSSValueWebkitMaxContent || id == CSSValueWebkitFillAva ilable || id == CSSValueWebkitFitContent) |
380 return true; | 386 return true; |
381 return !id && validUnit(value, FLength | FPercent | FNonNeg | unitless); | 387 return !id && validUnit(value, FLength | FPercent | FNonNeg | unitless); |
382 } | 388 } |
383 | 389 |
384 inline PassRefPtrWillBeRawPtr<CSSPrimitiveValue> CSSPropertyParser::parseValidPr imitive(CSSValueID identifier, CSSParserValue* value) | 390 inline PassRefPtrWillBeRawPtr<CSSPrimitiveValue> CSSPropertyParser::parseValidPr imitive(CSSValueID identifier, CSSParserValue* value) |
385 { | 391 { |
386 if (identifier) | 392 if (identifier) |
387 return cssValuePool().createIdentifierValue(identifier); | 393 return cssValuePool().createIdentifierValue(identifier); |
388 if (value->unit == CSSPrimitiveValue::CSS_STRING) | 394 if (value->unit == CSSPrimitiveValue::CSS_STRING) |
389 return createPrimitiveStringValue(value); | 395 return createPrimitiveCustomIdentValue(value); |
Timothy Loh
2015/03/05 22:43:35
What hit's this case now?
| |
390 if (value->unit >= CSSPrimitiveValue::CSS_NUMBER && value->unit <= CSSPrimit iveValue::CSS_KHZ) | 396 if (value->unit >= CSSPrimitiveValue::CSS_NUMBER && value->unit <= CSSPrimit iveValue::CSS_KHZ) |
391 return createPrimitiveNumericValue(value); | 397 return createPrimitiveNumericValue(value); |
392 if (value->unit >= CSSPrimitiveValue::CSS_TURN && value->unit <= CSSPrimitiv eValue::CSS_CHS) | 398 if (value->unit >= CSSPrimitiveValue::CSS_TURN && value->unit <= CSSPrimitiv eValue::CSS_CHS) |
393 return createPrimitiveNumericValue(value); | 399 return createPrimitiveNumericValue(value); |
394 if (value->unit >= CSSPrimitiveValue::CSS_VW && value->unit <= CSSPrimitiveV alue::CSS_VMAX) | 400 if (value->unit >= CSSPrimitiveValue::CSS_VW && value->unit <= CSSPrimitiveV alue::CSS_VMAX) |
395 return createPrimitiveNumericValue(value); | 401 return createPrimitiveNumericValue(value); |
396 if (value->unit >= CSSPrimitiveValue::CSS_DPPX && value->unit <= CSSPrimitiv eValue::CSS_DPCM) | 402 if (value->unit >= CSSPrimitiveValue::CSS_DPPX && value->unit <= CSSPrimitiv eValue::CSS_DPCM) |
397 return createPrimitiveNumericValue(value); | 403 return createPrimitiveNumericValue(value); |
398 if (value->unit >= CSSParserValue::Q_EMS) | 404 if (value->unit >= CSSParserValue::Q_EMS) |
399 return CSSPrimitiveValue::createAllowingMarginQuirk(value->fValue, CSSPr imitiveValue::CSS_EMS); | 405 return CSSPrimitiveValue::createAllowingMarginQuirk(value->fValue, CSSPr imitiveValue::CSS_EMS); |
(...skipping 926 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1326 // When specifying number of lines, don't allow 0 as a valid value | 1332 // When specifying number of lines, don't allow 0 as a valid value |
1327 // When specifying either type of unit, require non-negative integers | 1333 // When specifying either type of unit, require non-negative integers |
1328 validPrimitive = (!id && (value->unit == CSSPrimitiveValue::CSS_PERCENTA GE || value->fValue) && validUnit(value, FInteger | FPercent | FNonNeg)); | 1334 validPrimitive = (!id && (value->unit == CSSPrimitiveValue::CSS_PERCENTA GE || value->fValue) && validUnit(value, FInteger | FPercent | FNonNeg)); |
1329 break; | 1335 break; |
1330 | 1336 |
1331 case CSSPropertyWebkitFontSizeDelta: // <length> | 1337 case CSSPropertyWebkitFontSizeDelta: // <length> |
1332 validPrimitive = validUnit(value, FLength | FUnitlessQuirk); | 1338 validPrimitive = validUnit(value, FLength | FUnitlessQuirk); |
1333 break; | 1339 break; |
1334 | 1340 |
1335 case CSSPropertyWebkitHighlight: | 1341 case CSSPropertyWebkitHighlight: |
1336 if (id == CSSValueNone || value->unit == CSSPrimitiveValue::CSS_STRING) | 1342 if (id == CSSValueNone) { |
1337 validPrimitive = true; | 1343 validPrimitive = true; |
1344 } else if (value->unit == CSSPrimitiveValue::CSS_STRING) { | |
1345 parsedValue = createPrimitiveStringValue(value); | |
1346 m_valueList->next(); | |
1347 } | |
1338 break; | 1348 break; |
1339 | 1349 |
1340 case CSSPropertyWebkitHyphenateCharacter: | 1350 case CSSPropertyWebkitHyphenateCharacter: |
1341 if (id == CSSValueAuto || value->unit == CSSPrimitiveValue::CSS_STRING) | 1351 if (id == CSSValueAuto) { |
1342 validPrimitive = true; | 1352 validPrimitive = true; |
1353 } else if (value->unit == CSSPrimitiveValue::CSS_STRING) { | |
1354 parsedValue = createPrimitiveStringValue(value); | |
1355 m_valueList->next(); | |
1356 } | |
1343 break; | 1357 break; |
1344 | 1358 |
1345 case CSSPropertyWebkitLocale: | 1359 case CSSPropertyWebkitLocale: |
1346 if (id == CSSValueAuto || value->unit == CSSPrimitiveValue::CSS_STRING) | 1360 if (id == CSSValueAuto) { |
1347 validPrimitive = true; | 1361 validPrimitive = true; |
1362 } else if (value->unit == CSSPrimitiveValue::CSS_STRING) { | |
1363 parsedValue = createPrimitiveStringValue(value); | |
1364 m_valueList->next(); | |
1365 } | |
1348 break; | 1366 break; |
1349 | 1367 |
1350 // End Apple-specific properties | 1368 // End Apple-specific properties |
1351 | 1369 |
1352 case CSSPropertyWebkitAppRegion: | 1370 case CSSPropertyWebkitAppRegion: |
1353 if (id >= CSSValueDrag && id <= CSSValueNoDrag) | 1371 if (id >= CSSValueDrag && id <= CSSValueNoDrag) |
1354 validPrimitive = true; | 1372 validPrimitive = true; |
1355 break; | 1373 break; |
1356 | 1374 |
1357 case CSSPropertyWebkitTapHighlightColor: | 1375 case CSSPropertyWebkitTapHighlightColor: |
(...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2067 return false; | 2085 return false; |
2068 | 2086 |
2069 CSSParserValue* value = m_valueList->current(); | 2087 CSSParserValue* value = m_valueList->current(); |
2070 if (!value) | 2088 if (!value) |
2071 return false; | 2089 return false; |
2072 | 2090 |
2073 if (value->id == CSSValueAuto) { | 2091 if (value->id == CSSValueAuto) { |
2074 addProperty(propId, cssValuePool().createIdentifierValue(value->id), imp ortant); | 2092 addProperty(propId, cssValuePool().createIdentifierValue(value->id), imp ortant); |
2075 return true; | 2093 return true; |
2076 } else if (value->id == 0 && value->unit == CSSPrimitiveValue::CSS_IDENT) { | 2094 } else if (value->id == 0 && value->unit == CSSPrimitiveValue::CSS_IDENT) { |
2077 addProperty(propId, createPrimitiveStringValue(value), important); | 2095 addProperty(propId, createPrimitiveCustomIdentValue(value), important); |
2078 return true; | 2096 return true; |
2079 } | 2097 } |
2080 return false; | 2098 return false; |
2081 } | 2099 } |
2082 | 2100 |
2083 // <length>{1,2} | auto | [ <page-size> || [ portrait | landscape] ] | 2101 // <length>{1,2} | auto | [ <page-size> || [ portrait | landscape] ] |
2084 bool CSSPropertyParser::parseSize(CSSPropertyID propId, bool important) | 2102 bool CSSPropertyParser::parseSize(CSSPropertyID propId, bool important) |
2085 { | 2103 { |
2086 ASSERT(propId == CSSPropertySize); | 2104 ASSERT(propId == CSSPropertySize); |
2087 | 2105 |
(...skipping 870 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2958 } | 2976 } |
2959 | 2977 |
2960 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseAnimationName(bool allo wQuotedName) | 2978 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseAnimationName(bool allo wQuotedName) |
2961 { | 2979 { |
2962 CSSParserValue* value = m_valueList->current(); | 2980 CSSParserValue* value = m_valueList->current(); |
2963 | 2981 |
2964 if (value->id == CSSValueNone) | 2982 if (value->id == CSSValueNone) |
2965 return cssValuePool().createIdentifierValue(CSSValueNone); | 2983 return cssValuePool().createIdentifierValue(CSSValueNone); |
2966 | 2984 |
2967 if (value->unit == CSSPrimitiveValue::CSS_IDENT) | 2985 if (value->unit == CSSPrimitiveValue::CSS_IDENT) |
2968 return createPrimitiveStringValue(value); | 2986 return createPrimitiveCustomIdentValue(value); |
2969 | 2987 |
2970 if (allowQuotedName && value->unit == CSSPrimitiveValue::CSS_STRING) { | 2988 if (allowQuotedName && value->unit == CSSPrimitiveValue::CSS_STRING) { |
2971 // Legacy support for strings in prefixed animations | 2989 // Legacy support for strings in prefixed animations |
2972 if (m_context.useCounter()) | 2990 if (m_context.useCounter()) |
2973 m_context.useCounter()->count(UseCounter::QuotedAnimationName); | 2991 m_context.useCounter()->count(UseCounter::QuotedAnimationName); |
2974 if (equalIgnoringCase(value->string, "none")) | 2992 if (equalIgnoringCase(value->string, "none")) |
2975 return cssValuePool().createIdentifierValue(CSSValueNone); | 2993 return cssValuePool().createIdentifierValue(CSSValueNone); |
2976 return createPrimitiveStringValue(value); | 2994 return createPrimitiveCustomIdentValue(value); |
2977 } | 2995 } |
2978 | 2996 |
2979 return nullptr; | 2997 return nullptr; |
2980 } | 2998 } |
2981 | 2999 |
2982 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseAnimationPlayState() | 3000 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseAnimationPlayState() |
2983 { | 3001 { |
2984 CSSParserValue* value = m_valueList->current(); | 3002 CSSParserValue* value = m_valueList->current(); |
2985 if (value->id == CSSValueRunning || value->id == CSSValuePaused) | 3003 if (value->id == CSSValueRunning || value->id == CSSValuePaused) |
2986 return cssValuePool().createIdentifierValue(value->id); | 3004 return cssValuePool().createIdentifierValue(value->id); |
(...skipping 12 matching lines...) Expand all Loading... | |
2999 return cssValuePool().createIdentifierValue(CSSValueAll); | 3017 return cssValuePool().createIdentifierValue(CSSValueAll); |
3000 CSSPropertyID property = cssPropertyID(value->string); | 3018 CSSPropertyID property = cssPropertyID(value->string); |
3001 if (property) { | 3019 if (property) { |
3002 ASSERT(CSSPropertyMetadata::isEnabledProperty(property)); | 3020 ASSERT(CSSPropertyMetadata::isEnabledProperty(property)); |
3003 return cssValuePool().createIdentifierValue(property); | 3021 return cssValuePool().createIdentifierValue(property); |
3004 } | 3022 } |
3005 if (value->id == CSSValueNone) | 3023 if (value->id == CSSValueNone) |
3006 return cssValuePool().createIdentifierValue(CSSValueNone); | 3024 return cssValuePool().createIdentifierValue(CSSValueNone); |
3007 if (value->id == CSSValueInitial || value->id == CSSValueInherit) | 3025 if (value->id == CSSValueInitial || value->id == CSSValueInherit) |
3008 return nullptr; | 3026 return nullptr; |
3009 return createPrimitiveStringValue(value); | 3027 return createPrimitiveCustomIdentValue(value); |
3010 } | 3028 } |
3011 | 3029 |
3012 bool CSSPropertyParser::parseCubicBezierTimingFunctionValue(CSSParserValueList*& args, double& result) | 3030 bool CSSPropertyParser::parseCubicBezierTimingFunctionValue(CSSParserValueList*& args, double& result) |
3013 { | 3031 { |
3014 CSSParserValue* v = args->current(); | 3032 CSSParserValue* v = args->current(); |
3015 if (!validUnit(v, FNumber)) | 3033 if (!validUnit(v, FNumber)) |
3016 return false; | 3034 return false; |
3017 result = v->fValue; | 3035 result = v->fValue; |
3018 v = args->next(); | 3036 v = args->next(); |
3019 if (!v) | 3037 if (!v) |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3194 } | 3212 } |
3195 | 3213 |
3196 // The function parses [ <integer> || <custom-ident> ] in <grid-line> (which can be stand alone or with 'span'). | 3214 // The function parses [ <integer> || <custom-ident> ] in <grid-line> (which can be stand alone or with 'span'). |
3197 bool CSSPropertyParser::parseIntegerOrCustomIdentFromGridPosition(RefPtrWillBeRa wPtr<CSSPrimitiveValue>& numericValue, RefPtrWillBeRawPtr<CSSPrimitiveValue>& gr idLineName) | 3215 bool CSSPropertyParser::parseIntegerOrCustomIdentFromGridPosition(RefPtrWillBeRa wPtr<CSSPrimitiveValue>& numericValue, RefPtrWillBeRawPtr<CSSPrimitiveValue>& gr idLineName) |
3198 { | 3216 { |
3199 CSSParserValue* value = m_valueList->current(); | 3217 CSSParserValue* value = m_valueList->current(); |
3200 if (validUnit(value, FInteger) && value->fValue) { | 3218 if (validUnit(value, FInteger) && value->fValue) { |
3201 numericValue = createPrimitiveNumericValue(value); | 3219 numericValue = createPrimitiveNumericValue(value); |
3202 value = m_valueList->next(); | 3220 value = m_valueList->next(); |
3203 if (value && isValidCustomIdentForGridPositions(*value)) { | 3221 if (value && isValidCustomIdentForGridPositions(*value)) { |
3204 gridLineName = createPrimitiveStringValue(m_valueList->current()); | 3222 gridLineName = createPrimitiveCustomIdentValue(m_valueList->current( )); |
3205 m_valueList->next(); | 3223 m_valueList->next(); |
3206 } | 3224 } |
3207 return true; | 3225 return true; |
3208 } | 3226 } |
3209 | 3227 |
3210 if (isValidCustomIdentForGridPositions(*value)) { | 3228 if (isValidCustomIdentForGridPositions(*value)) { |
3211 gridLineName = createPrimitiveStringValue(m_valueList->current()); | 3229 gridLineName = createPrimitiveCustomIdentValue(m_valueList->current()); |
3212 value = m_valueList->next(); | 3230 value = m_valueList->next(); |
3213 if (value && validUnit(value, FInteger) && value->fValue) { | 3231 if (value && validUnit(value, FInteger) && value->fValue) { |
3214 numericValue = createPrimitiveNumericValue(value); | 3232 numericValue = createPrimitiveNumericValue(value); |
3215 m_valueList->next(); | 3233 m_valueList->next(); |
3216 } | 3234 } |
3217 return true; | 3235 return true; |
3218 } | 3236 } |
3219 | 3237 |
3220 return false; | 3238 return false; |
3221 } | 3239 } |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3256 // If we didn't parse anything, this is not a valid grid position. | 3274 // If we didn't parse anything, this is not a valid grid position. |
3257 if (!hasSeenSpanKeyword && !gridLineName && !numericValue) | 3275 if (!hasSeenSpanKeyword && !gridLineName && !numericValue) |
3258 return nullptr; | 3276 return nullptr; |
3259 | 3277 |
3260 // Negative numbers are not allowed for span (but are for <integer>). | 3278 // Negative numbers are not allowed for span (but are for <integer>). |
3261 if (hasSeenSpanKeyword && numericValue && numericValue->getIntValue() < 0) | 3279 if (hasSeenSpanKeyword && numericValue && numericValue->getIntValue() < 0) |
3262 return nullptr; | 3280 return nullptr; |
3263 | 3281 |
3264 // For the <custom-ident> case. | 3282 // For the <custom-ident> case. |
3265 if (gridLineName && !numericValue && !hasSeenSpanKeyword) | 3283 if (gridLineName && !numericValue && !hasSeenSpanKeyword) |
3266 return cssValuePool().createValue(gridLineName->getStringValue(), CSSPri mitiveValue::CSS_STRING); | 3284 return cssValuePool().createValue(gridLineName->getStringValue(), CSSPri mitiveValue::CSS_CUSTOM_IDENT); |
3267 | 3285 |
3268 RefPtrWillBeRawPtr<CSSValueList> values = CSSValueList::createSpaceSeparated (); | 3286 RefPtrWillBeRawPtr<CSSValueList> values = CSSValueList::createSpaceSeparated (); |
3269 if (hasSeenSpanKeyword) | 3287 if (hasSeenSpanKeyword) |
3270 values->append(cssValuePool().createIdentifierValue(CSSValueSpan)); | 3288 values->append(cssValuePool().createIdentifierValue(CSSValueSpan)); |
3271 if (numericValue) | 3289 if (numericValue) |
3272 values->append(numericValue.release()); | 3290 values->append(numericValue.release()); |
3273 if (gridLineName) | 3291 if (gridLineName) |
3274 values->append(gridLineName.release()); | 3292 values->append(gridLineName.release()); |
3275 ASSERT(values->length()); | 3293 ASSERT(values->length()); |
3276 return values.release(); | 3294 return values.release(); |
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3556 identList->setCurrentIndex(0); | 3574 identList->setCurrentIndex(0); |
3557 | 3575 |
3558 RefPtrWillBeRawPtr<CSSGridLineNamesValue> lineNames = previousNamedAreaTrail ingLineNames; | 3576 RefPtrWillBeRawPtr<CSSGridLineNamesValue> lineNames = previousNamedAreaTrail ingLineNames; |
3559 if (!lineNames) | 3577 if (!lineNames) |
3560 lineNames = CSSGridLineNamesValue::create(); | 3578 lineNames = CSSGridLineNamesValue::create(); |
3561 while (CSSParserValue* identValue = identList->current()) { | 3579 while (CSSParserValue* identValue = identList->current()) { |
3562 if (identValue->unit != CSSPrimitiveValue::CSS_IDENT) { | 3580 if (identValue->unit != CSSPrimitiveValue::CSS_IDENT) { |
3563 ASSERT(RuntimeEnabledFeatures::newCSSParserEnabled()); | 3581 ASSERT(RuntimeEnabledFeatures::newCSSParserEnabled()); |
3564 return; | 3582 return; |
3565 } | 3583 } |
3566 RefPtrWillBeRawPtr<CSSPrimitiveValue> lineName = createPrimitiveStringVa lue(identValue); | 3584 RefPtrWillBeRawPtr<CSSPrimitiveValue> lineName = createPrimitiveCustomId entValue(identValue); |
3567 lineNames->append(lineName.release()); | 3585 lineNames->append(lineName.release()); |
3568 identList->next(); | 3586 identList->next(); |
3569 } | 3587 } |
3570 if (!previousNamedAreaTrailingLineNames) | 3588 if (!previousNamedAreaTrailingLineNames) |
3571 valueList.append(lineNames.release()); | 3589 valueList.append(lineNames.release()); |
3572 | 3590 |
3573 inputList.next(); | 3591 inputList.next(); |
3574 } | 3592 } |
3575 | 3593 |
3576 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseGridTrackList() | 3594 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseGridTrackList() |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3840 { | 3858 { |
3841 unsigned numArgs = args->size(); | 3859 unsigned numArgs = args->size(); |
3842 if (counters && numArgs != 3 && numArgs != 5) | 3860 if (counters && numArgs != 3 && numArgs != 5) |
3843 return nullptr; | 3861 return nullptr; |
3844 if (!counters && numArgs != 1 && numArgs != 3) | 3862 if (!counters && numArgs != 1 && numArgs != 3) |
3845 return nullptr; | 3863 return nullptr; |
3846 | 3864 |
3847 CSSParserValue* i = args->current(); | 3865 CSSParserValue* i = args->current(); |
3848 if (i->unit != CSSPrimitiveValue::CSS_IDENT) | 3866 if (i->unit != CSSPrimitiveValue::CSS_IDENT) |
3849 return nullptr; | 3867 return nullptr; |
3850 RefPtrWillBeRawPtr<CSSPrimitiveValue> identifier = createPrimitiveStringValu e(i); | 3868 RefPtrWillBeRawPtr<CSSPrimitiveValue> identifier = createPrimitiveCustomIden tValue(i); |
3851 | 3869 |
3852 RefPtrWillBeRawPtr<CSSPrimitiveValue> separator = nullptr; | 3870 RefPtrWillBeRawPtr<CSSPrimitiveValue> separator = nullptr; |
3853 if (!counters) | 3871 if (!counters) |
3854 separator = cssValuePool().createValue(String(), CSSPrimitiveValue::CSS_ STRING); | 3872 separator = cssValuePool().createValue(String(), CSSPrimitiveValue::CSS_ CUSTOM_IDENT); |
3855 else { | 3873 else { |
3856 args->next(); | 3874 args->next(); |
3857 if (!consumeComma(args)) | 3875 if (!consumeComma(args)) |
3858 return nullptr; | 3876 return nullptr; |
3859 | 3877 |
3860 i = args->current(); | 3878 i = args->current(); |
3861 if (i->unit != CSSPrimitiveValue::CSS_STRING) | 3879 if (i->unit != CSSPrimitiveValue::CSS_STRING) |
3862 return nullptr; | 3880 return nullptr; |
3863 | 3881 |
3864 separator = createPrimitiveStringValue(i); | 3882 separator = createPrimitiveCustomIdentValue(i); |
3865 } | 3883 } |
3866 | 3884 |
3867 RefPtrWillBeRawPtr<CSSPrimitiveValue> listStyle = nullptr; | 3885 RefPtrWillBeRawPtr<CSSPrimitiveValue> listStyle = nullptr; |
3868 i = args->next(); | 3886 i = args->next(); |
3869 if (!i) // Make the list style default decimal | 3887 if (!i) // Make the list style default decimal |
3870 listStyle = cssValuePool().createIdentifierValue(CSSValueDecimal); | 3888 listStyle = cssValuePool().createIdentifierValue(CSSValueDecimal); |
3871 else { | 3889 else { |
3872 if (!consumeComma(args)) | 3890 if (!consumeComma(args)) |
3873 return nullptr; | 3891 return nullptr; |
3874 | 3892 |
(...skipping 2373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6248 } | 6266 } |
6249 | 6267 |
6250 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseCounter(int defaultValu e) | 6268 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseCounter(int defaultValu e) |
6251 { | 6269 { |
6252 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparated() ; | 6270 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparated() ; |
6253 | 6271 |
6254 while (m_valueList->current()) { | 6272 while (m_valueList->current()) { |
6255 CSSParserValue* val = m_valueList->current(); | 6273 CSSParserValue* val = m_valueList->current(); |
6256 if (val->unit != CSSPrimitiveValue::CSS_IDENT) | 6274 if (val->unit != CSSPrimitiveValue::CSS_IDENT) |
6257 return nullptr; | 6275 return nullptr; |
6258 RefPtrWillBeRawPtr<CSSPrimitiveValue> counterName = createPrimitiveStrin gValue(val); | 6276 RefPtrWillBeRawPtr<CSSPrimitiveValue> counterName = createPrimitiveCusto mIdentValue(val); |
6259 m_valueList->next(); | 6277 m_valueList->next(); |
6260 | 6278 |
6261 val = m_valueList->current(); | 6279 val = m_valueList->current(); |
6262 int i = defaultValue; | 6280 int i = defaultValue; |
6263 if (val && validUnit(val, FInteger)) { | 6281 if (val && validUnit(val, FInteger)) { |
6264 i = clampTo<int>(val->fValue); | 6282 i = clampTo<int>(val->fValue); |
6265 m_valueList->next(); | 6283 m_valueList->next(); |
6266 } | 6284 } |
6267 | 6285 |
6268 list->append(createPrimitiveValuePair(counterName.release(), | 6286 list->append(createPrimitiveValuePair(counterName.release(), |
(...skipping 2208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
8477 } | 8495 } |
8478 } | 8496 } |
8479 | 8497 |
8480 if (!list->length()) | 8498 if (!list->length()) |
8481 return nullptr; | 8499 return nullptr; |
8482 | 8500 |
8483 return list.release(); | 8501 return list.release(); |
8484 } | 8502 } |
8485 | 8503 |
8486 } // namespace blink | 8504 } // namespace blink |
OLD | NEW |