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 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
384 int id = value->id; | 384 int id = value->id; |
385 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) |
386 return true; | 386 return true; |
387 return !id && validUnit(value, FLength | FPercent | FNonNeg | unitless); | 387 return !id && validUnit(value, FLength | FPercent | FNonNeg | unitless); |
388 } | 388 } |
389 | 389 |
390 inline PassRefPtrWillBeRawPtr<CSSPrimitiveValue> CSSPropertyParser::parseValidPr
imitive(CSSValueID identifier, CSSParserValue* value) | 390 inline PassRefPtrWillBeRawPtr<CSSPrimitiveValue> CSSPropertyParser::parseValidPr
imitive(CSSValueID identifier, CSSParserValue* value) |
391 { | 391 { |
392 if (identifier) | 392 if (identifier) |
393 return cssValuePool().createIdentifierValue(identifier); | 393 return cssValuePool().createIdentifierValue(identifier); |
394 if (value->unit == CSSPrimitiveValue::CSS_STRING) | |
395 return createPrimitiveCustomIdentValue(value); | |
396 if (value->unit >= CSSPrimitiveValue::CSS_NUMBER && value->unit <= CSSPrimit
iveValue::CSS_KHZ) | 394 if (value->unit >= CSSPrimitiveValue::CSS_NUMBER && value->unit <= CSSPrimit
iveValue::CSS_KHZ) |
397 return createPrimitiveNumericValue(value); | 395 return createPrimitiveNumericValue(value); |
398 if (value->unit >= CSSPrimitiveValue::CSS_TURN && value->unit <= CSSPrimitiv
eValue::CSS_CHS) | 396 if (value->unit >= CSSPrimitiveValue::CSS_TURN && value->unit <= CSSPrimitiv
eValue::CSS_CHS) |
399 return createPrimitiveNumericValue(value); | 397 return createPrimitiveNumericValue(value); |
400 if (value->unit >= CSSPrimitiveValue::CSS_VW && value->unit <= CSSPrimitiveV
alue::CSS_VMAX) | 398 if (value->unit >= CSSPrimitiveValue::CSS_VW && value->unit <= CSSPrimitiveV
alue::CSS_VMAX) |
401 return createPrimitiveNumericValue(value); | 399 return createPrimitiveNumericValue(value); |
402 if (value->unit >= CSSPrimitiveValue::CSS_DPPX && value->unit <= CSSPrimitiv
eValue::CSS_DPCM) | 400 if (value->unit >= CSSPrimitiveValue::CSS_DPPX && value->unit <= CSSPrimitiv
eValue::CSS_DPCM) |
403 return createPrimitiveNumericValue(value); | 401 return createPrimitiveNumericValue(value); |
404 if (value->unit >= CSSParserValue::Q_EMS) | 402 if (value->unit >= CSSParserValue::Q_EMS) |
405 return CSSPrimitiveValue::createAllowingMarginQuirk(value->fValue, CSSPr
imitiveValue::CSS_EMS); | 403 return CSSPrimitiveValue::createAllowingMarginQuirk(value->fValue, CSSPr
imitiveValue::CSS_EMS); |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
521 overflowXValue = cssValuePool().createIdentifierValue(CSSValueAuto); | 519 overflowXValue = cssValuePool().createIdentifierValue(CSSValueAuto); |
522 else | 520 else |
523 overflowXValue = m_parsedProperties.last().value(); | 521 overflowXValue = m_parsedProperties.last().value(); |
524 addProperty(CSSPropertyOverflowX, overflowXValue.release(), important); | 522 addProperty(CSSPropertyOverflowX, overflowXValue.release(), important); |
525 return true; | 523 return true; |
526 } | 524 } |
527 | 525 |
528 case CSSPropertyTextAlign: | 526 case CSSPropertyTextAlign: |
529 // left | right | center | justify | -webkit-left | -webkit-right | -web
kit-center | -webkit-match-parent | 527 // left | right | center | justify | -webkit-left | -webkit-right | -web
kit-center | -webkit-match-parent |
530 // | start | end | <string> | inherit | -webkit-auto (converted to start
) | 528 // | start | end | <string> | inherit | -webkit-auto (converted to start
) |
531 if ((id >= CSSValueWebkitAuto && id <= CSSValueWebkitMatchParent) || id
== CSSValueStart || id == CSSValueEnd | 529 // FIXME: <string> not supported right now |
532 || value->unit == CSSPrimitiveValue::CSS_STRING) | 530 if ((id >= CSSValueWebkitAuto && id <= CSSValueWebkitMatchParent) || id
== CSSValueStart || id == CSSValueEnd) { |
533 validPrimitive = true; | 531 validPrimitive = true; |
| 532 } |
534 break; | 533 break; |
535 | 534 |
536 case CSSPropertyFontWeight: { // normal | bold | bolder | lighter | 100 | 2
00 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit | 535 case CSSPropertyFontWeight: { // normal | bold | bolder | lighter | 100 | 2
00 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit |
537 if (m_valueList->size() != 1) | 536 if (m_valueList->size() != 1) |
538 return false; | 537 return false; |
539 return parseFontWeight(important); | 538 return parseFontWeight(important); |
540 } | 539 } |
541 | 540 |
542 case CSSPropertyBorderSpacing: { | 541 case CSSPropertyBorderSpacing: { |
543 if (num == 1) { | 542 if (num == 1) { |
(...skipping 1628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2172 } | 2171 } |
2173 | 2172 |
2174 // [ <string> <string> ]+ | none, but none is handled in parseValue | 2173 // [ <string> <string> ]+ | none, but none is handled in parseValue |
2175 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseQuotes() | 2174 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseQuotes() |
2176 { | 2175 { |
2177 RefPtrWillBeRawPtr<CSSValueList> values = CSSValueList::createCommaSeparated
(); | 2176 RefPtrWillBeRawPtr<CSSValueList> values = CSSValueList::createCommaSeparated
(); |
2178 while (CSSParserValue* val = m_valueList->current()) { | 2177 while (CSSParserValue* val = m_valueList->current()) { |
2179 RefPtrWillBeRawPtr<CSSValue> parsedValue = nullptr; | 2178 RefPtrWillBeRawPtr<CSSValue> parsedValue = nullptr; |
2180 if (val->unit != CSSPrimitiveValue::CSS_STRING) | 2179 if (val->unit != CSSPrimitiveValue::CSS_STRING) |
2181 return nullptr; | 2180 return nullptr; |
2182 parsedValue = CSSPrimitiveValue::create(val->string, CSSPrimitiveValue::
CSS_STRING); | 2181 parsedValue = createPrimitiveStringValue(val); |
2183 values->append(parsedValue.release()); | 2182 values->append(parsedValue.release()); |
2184 m_valueList->next(); | 2183 m_valueList->next(); |
2185 } | 2184 } |
2186 if (values->length() && values->length() % 2 == 0) | 2185 if (values->length() && values->length() % 2 == 0) |
2187 return values.release(); | 2186 return values.release(); |
2188 return nullptr; | 2187 return nullptr; |
2189 } | 2188 } |
2190 | 2189 |
2191 // [ <string> | <uri> | <counter> | attr(X) | open-quote | close-quote | no-open
-quote | no-close-quote ]+ | inherit | 2190 // [ <string> | <uri> | <counter> | attr(X) | open-quote | close-quote | no-open
-quote | no-close-quote ]+ | inherit |
2192 // in CSS 2.1 this got somewhat reduced: | 2191 // in CSS 2.1 this got somewhat reduced: |
(...skipping 6302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8495 } | 8494 } |
8496 } | 8495 } |
8497 | 8496 |
8498 if (!list->length()) | 8497 if (!list->length()) |
8499 return nullptr; | 8498 return nullptr; |
8500 | 8499 |
8501 return list.release(); | 8500 return list.release(); |
8502 } | 8501 } |
8503 | 8502 |
8504 } // namespace blink | 8503 } // namespace blink |
OLD | NEW |