| 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 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 430 /* nobreak */ | 430 /* nobreak */ |
| 431 case CSSPropertyBackgroundColor: // <color> | inherit | 431 case CSSPropertyBackgroundColor: // <color> | inherit |
| 432 case CSSPropertyBorderTopColor: // <color> | inherit | 432 case CSSPropertyBorderTopColor: // <color> | inherit |
| 433 case CSSPropertyBorderRightColor: | 433 case CSSPropertyBorderRightColor: |
| 434 case CSSPropertyBorderBottomColor: | 434 case CSSPropertyBorderBottomColor: |
| 435 case CSSPropertyBorderLeftColor: | 435 case CSSPropertyBorderLeftColor: |
| 436 case CSSPropertyWebkitBorderStartColor: | 436 case CSSPropertyWebkitBorderStartColor: |
| 437 case CSSPropertyWebkitBorderEndColor: | 437 case CSSPropertyWebkitBorderEndColor: |
| 438 case CSSPropertyWebkitBorderBeforeColor: | 438 case CSSPropertyWebkitBorderBeforeColor: |
| 439 case CSSPropertyWebkitBorderAfterColor: | 439 case CSSPropertyWebkitBorderAfterColor: |
| 440 case CSSPropertyTextDecorationColor: // CSS3 text decoration colors | |
| 441 case CSSPropertyWebkitColumnRuleColor: | 440 case CSSPropertyWebkitColumnRuleColor: |
| 442 case CSSPropertyWebkitTextEmphasisColor: | 441 case CSSPropertyWebkitTextEmphasisColor: |
| 443 case CSSPropertyWebkitTextStrokeColor: | 442 case CSSPropertyWebkitTextStrokeColor: |
| 444 ASSERT(propId != CSSPropertyTextDecorationColor || RuntimeEnabledFeature
s::css3TextDecorationsEnabled()); | |
| 445 parsedValue = parseColor(m_valueList->current(), acceptQuirkyColors(prop
Id)); | 443 parsedValue = parseColor(m_valueList->current(), acceptQuirkyColors(prop
Id)); |
| 446 if (parsedValue) | 444 if (parsedValue) |
| 447 m_valueList->next(); | 445 m_valueList->next(); |
| 448 break; | 446 break; |
| 449 | 447 |
| 450 case CSSPropertyCursor: { | 448 case CSSPropertyCursor: { |
| 451 // Grammar defined by CSS3 UI and modified by CSS4 images: | 449 // Grammar defined by CSS3 UI and modified by CSS4 images: |
| 452 // [ [<image> [<x> <y>]?,]* | 450 // [ [<image> [<x> <y>]?,]* |
| 453 // [ auto | crosshair | default | pointer | progress | move | e-resize |
ne-resize | | 451 // [ auto | crosshair | default | pointer | progress | move | e-resize |
ne-resize | |
| 454 // nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize |
ew-resize | | 452 // nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize |
ew-resize | |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 659 case CSSPropertyWebkitMarginStart: | 657 case CSSPropertyWebkitMarginStart: |
| 660 case CSSPropertyWebkitMarginEnd: | 658 case CSSPropertyWebkitMarginEnd: |
| 661 case CSSPropertyWebkitMarginBefore: | 659 case CSSPropertyWebkitMarginBefore: |
| 662 case CSSPropertyWebkitMarginAfter: | 660 case CSSPropertyWebkitMarginAfter: |
| 663 if (id == CSSValueAuto) | 661 if (id == CSSValueAuto) |
| 664 validPrimitive = true; | 662 validPrimitive = true; |
| 665 else | 663 else |
| 666 validPrimitive = validUnit(value, FLength | FPercent | unitless); | 664 validPrimitive = validUnit(value, FLength | FPercent | unitless); |
| 667 break; | 665 break; |
| 668 | 666 |
| 669 case CSSPropertyTextDecoration: | |
| 670 // Fall through 'text-decoration-line' parsing if CSS 3 Text Decoration | |
| 671 // is disabled to match CSS 2.1 rules for parsing 'text-decoration'. | |
| 672 if (RuntimeEnabledFeatures::css3TextDecorationsEnabled()) { | |
| 673 // [ <text-decoration-line> || <text-decoration-style> || <text-deco
ration-color> ] | inherit | |
| 674 return parseShorthand(CSSPropertyTextDecoration, textDecorationShort
hand(), important); | |
| 675 } | |
| 676 case CSSPropertyWebkitTextDecorationsInEffect: | |
| 677 case CSSPropertyTextDecorationLine: | |
| 678 // none | [ underline || overline || line-through || blink ] | inherit | |
| 679 parsedValue = parseTextDecoration(); | |
| 680 break; | |
| 681 | |
| 682 case CSSPropertyTextUnderlinePosition: | 667 case CSSPropertyTextUnderlinePosition: |
| 683 // auto | [ under || [ left | right ] ], but we only support auto | unde
r for now | 668 // auto | [ under || [ left | right ] ], but we only support auto | unde
r for now |
| 684 ASSERT(RuntimeEnabledFeatures::css3TextDecorationsEnabled()); | 669 ASSERT(RuntimeEnabledFeatures::css3TextDecorationsEnabled()); |
| 685 validPrimitive = (id == CSSValueAuto || id == CSSValueUnder); | 670 validPrimitive = (id == CSSValueAuto || id == CSSValueUnder); |
| 686 break; | 671 break; |
| 687 | 672 |
| 688 case CSSPropertySrc: | 673 case CSSPropertySrc: |
| 689 case CSSPropertyUnicodeRange: | 674 case CSSPropertyUnicodeRange: |
| 690 /* @font-face only descriptors */ | 675 /* @font-face only descriptors */ |
| 691 break; | 676 break; |
| (...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1214 case CSSPropertyOrphans: | 1199 case CSSPropertyOrphans: |
| 1215 case CSSPropertyWidows: | 1200 case CSSPropertyWidows: |
| 1216 case CSSPropertyWebkitTapHighlightColor: | 1201 case CSSPropertyWebkitTapHighlightColor: |
| 1217 case CSSPropertyWebkitTextFillColor: | 1202 case CSSPropertyWebkitTextFillColor: |
| 1218 case CSSPropertyColor: | 1203 case CSSPropertyColor: |
| 1219 case CSSPropertyZIndex: | 1204 case CSSPropertyZIndex: |
| 1220 case CSSPropertyTextShadow: | 1205 case CSSPropertyTextShadow: |
| 1221 case CSSPropertyBoxShadow: | 1206 case CSSPropertyBoxShadow: |
| 1222 case CSSPropertyWebkitFilter: | 1207 case CSSPropertyWebkitFilter: |
| 1223 case CSSPropertyBackdropFilter: | 1208 case CSSPropertyBackdropFilter: |
| 1209 case CSSPropertyTextDecorationColor: |
| 1210 case CSSPropertyWebkitTextDecorationsInEffect: |
| 1211 case CSSPropertyTextDecorationLine: |
| 1212 case CSSPropertyTextDecoration: |
| 1224 validPrimitive = false; | 1213 validPrimitive = false; |
| 1225 break; | 1214 break; |
| 1226 | 1215 |
| 1227 case CSSPropertyScrollSnapPointsX: | 1216 case CSSPropertyScrollSnapPointsX: |
| 1228 case CSSPropertyScrollSnapPointsY: | 1217 case CSSPropertyScrollSnapPointsY: |
| 1229 parsedValue = parseScrollSnapPoints(); | 1218 parsedValue = parseScrollSnapPoints(); |
| 1230 break; | 1219 break; |
| 1231 case CSSPropertyScrollSnapCoordinate: | 1220 case CSSPropertyScrollSnapCoordinate: |
| 1232 parsedValue = parseScrollSnapCoordinate(); | 1221 parsedValue = parseScrollSnapCoordinate(); |
| 1233 break; | 1222 break; |
| (...skipping 4163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5397 | 5386 |
| 5398 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated()
; | 5387 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated()
; |
| 5399 list->append(xValue.release()); | 5388 list->append(xValue.release()); |
| 5400 if (yValue) | 5389 if (yValue) |
| 5401 list->append(yValue.release()); | 5390 list->append(yValue.release()); |
| 5402 if (zValue) | 5391 if (zValue) |
| 5403 list->append(zValue.release()); | 5392 list->append(zValue.release()); |
| 5404 return list.release(); | 5393 return list.release(); |
| 5405 } | 5394 } |
| 5406 | 5395 |
| 5407 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseTextDecoration() | |
| 5408 { | |
| 5409 CSSParserValue* value = m_valueList->current(); | |
| 5410 if (value && value->id == CSSValueNone) { | |
| 5411 m_valueList->next(); | |
| 5412 return cssValuePool().createIdentifierValue(CSSValueNone); | |
| 5413 } | |
| 5414 | |
| 5415 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated()
; | |
| 5416 bool isValid = true; | |
| 5417 while (isValid && value) { | |
| 5418 switch (value->id) { | |
| 5419 case CSSValueUnderline: | |
| 5420 case CSSValueOverline: | |
| 5421 case CSSValueLineThrough: | |
| 5422 case CSSValueBlink: | |
| 5423 // TODO(timloh): This will incorrectly accept "blink blink" | |
| 5424 list->append(cssValuePool().createIdentifierValue(value->id)); | |
| 5425 break; | |
| 5426 default: | |
| 5427 isValid = false; | |
| 5428 break; | |
| 5429 } | |
| 5430 if (isValid) | |
| 5431 value = m_valueList->next(); | |
| 5432 } | |
| 5433 | |
| 5434 // Values are either valid or in shorthand scope. | |
| 5435 if (list->length()) | |
| 5436 return list.release(); | |
| 5437 return nullptr; | |
| 5438 } | |
| 5439 | |
| 5440 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseTextEmphasisStyle() | 5396 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseTextEmphasisStyle() |
| 5441 { | 5397 { |
| 5442 RefPtrWillBeRawPtr<CSSPrimitiveValue> fill = nullptr; | 5398 RefPtrWillBeRawPtr<CSSPrimitiveValue> fill = nullptr; |
| 5443 RefPtrWillBeRawPtr<CSSPrimitiveValue> shape = nullptr; | 5399 RefPtrWillBeRawPtr<CSSPrimitiveValue> shape = nullptr; |
| 5444 | 5400 |
| 5445 for (CSSParserValue* value = m_valueList->current(); value; value = m_valueL
ist->next()) { | 5401 for (CSSParserValue* value = m_valueList->current(); value; value = m_valueL
ist->next()) { |
| 5446 if (value->m_unit == CSSParserValue::String) { | 5402 if (value->m_unit == CSSParserValue::String) { |
| 5447 if (fill || shape) | 5403 if (fill || shape) |
| 5448 return nullptr; | 5404 return nullptr; |
| 5449 m_valueList->next(); | 5405 m_valueList->next(); |
| (...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6056 } | 6012 } |
| 6057 } | 6013 } |
| 6058 | 6014 |
| 6059 if (!list->length()) | 6015 if (!list->length()) |
| 6060 return nullptr; | 6016 return nullptr; |
| 6061 | 6017 |
| 6062 return list.release(); | 6018 return list.release(); |
| 6063 } | 6019 } |
| 6064 | 6020 |
| 6065 } // namespace blink | 6021 } // namespace blink |
| OLD | NEW |