| 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 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 423 /* nobreak */ | 423 /* nobreak */ |
| 424 case CSSPropertyBackgroundColor: // <color> | inherit | 424 case CSSPropertyBackgroundColor: // <color> | inherit |
| 425 case CSSPropertyBorderTopColor: // <color> | inherit | 425 case CSSPropertyBorderTopColor: // <color> | inherit |
| 426 case CSSPropertyBorderRightColor: | 426 case CSSPropertyBorderRightColor: |
| 427 case CSSPropertyBorderBottomColor: | 427 case CSSPropertyBorderBottomColor: |
| 428 case CSSPropertyBorderLeftColor: | 428 case CSSPropertyBorderLeftColor: |
| 429 case CSSPropertyWebkitBorderStartColor: | 429 case CSSPropertyWebkitBorderStartColor: |
| 430 case CSSPropertyWebkitBorderEndColor: | 430 case CSSPropertyWebkitBorderEndColor: |
| 431 case CSSPropertyWebkitBorderBeforeColor: | 431 case CSSPropertyWebkitBorderBeforeColor: |
| 432 case CSSPropertyWebkitBorderAfterColor: | 432 case CSSPropertyWebkitBorderAfterColor: |
| 433 case CSSPropertyTextDecorationColor: // CSS3 text decoration colors | |
| 434 case CSSPropertyWebkitColumnRuleColor: | 433 case CSSPropertyWebkitColumnRuleColor: |
| 435 case CSSPropertyWebkitTextEmphasisColor: | 434 case CSSPropertyWebkitTextEmphasisColor: |
| 436 case CSSPropertyWebkitTextStrokeColor: | 435 case CSSPropertyWebkitTextStrokeColor: |
| 437 ASSERT(propId != CSSPropertyTextDecorationColor || RuntimeEnabledFeature
s::css3TextDecorationsEnabled()); | |
| 438 parsedValue = parseColor(m_valueList->current(), acceptQuirkyColors(prop
Id)); | 436 parsedValue = parseColor(m_valueList->current(), acceptQuirkyColors(prop
Id)); |
| 439 if (parsedValue) | 437 if (parsedValue) |
| 440 m_valueList->next(); | 438 m_valueList->next(); |
| 441 break; | 439 break; |
| 442 | 440 |
| 443 case CSSPropertyCursor: { | 441 case CSSPropertyCursor: { |
| 444 // Grammar defined by CSS3 UI and modified by CSS4 images: | 442 // Grammar defined by CSS3 UI and modified by CSS4 images: |
| 445 // [ [<image> [<x> <y>]?,]* | 443 // [ [<image> [<x> <y>]?,]* |
| 446 // [ auto | crosshair | default | pointer | progress | move | e-resize |
ne-resize | | 444 // [ auto | crosshair | default | pointer | progress | move | e-resize |
ne-resize | |
| 447 // nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize |
ew-resize | | 445 // 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... |
| 652 case CSSPropertyWebkitMarginStart: | 650 case CSSPropertyWebkitMarginStart: |
| 653 case CSSPropertyWebkitMarginEnd: | 651 case CSSPropertyWebkitMarginEnd: |
| 654 case CSSPropertyWebkitMarginBefore: | 652 case CSSPropertyWebkitMarginBefore: |
| 655 case CSSPropertyWebkitMarginAfter: | 653 case CSSPropertyWebkitMarginAfter: |
| 656 if (id == CSSValueAuto) | 654 if (id == CSSValueAuto) |
| 657 validPrimitive = true; | 655 validPrimitive = true; |
| 658 else | 656 else |
| 659 validPrimitive = validUnit(value, FLength | FPercent | unitless); | 657 validPrimitive = validUnit(value, FLength | FPercent | unitless); |
| 660 break; | 658 break; |
| 661 | 659 |
| 662 case CSSPropertyTextDecoration: | |
| 663 // Fall through 'text-decoration-line' parsing if CSS 3 Text Decoration | |
| 664 // is disabled to match CSS 2.1 rules for parsing 'text-decoration'. | |
| 665 if (RuntimeEnabledFeatures::css3TextDecorationsEnabled()) { | |
| 666 // [ <text-decoration-line> || <text-decoration-style> || <text-deco
ration-color> ] | inherit | |
| 667 return parseShorthand(CSSPropertyTextDecoration, textDecorationShort
hand(), important); | |
| 668 } | |
| 669 case CSSPropertyWebkitTextDecorationsInEffect: | |
| 670 case CSSPropertyTextDecorationLine: | |
| 671 // none | [ underline || overline || line-through || blink ] | inherit | |
| 672 parsedValue = parseTextDecoration(); | |
| 673 break; | |
| 674 | |
| 675 case CSSPropertyTextUnderlinePosition: | 660 case CSSPropertyTextUnderlinePosition: |
| 676 // auto | [ under || [ left | right ] ], but we only support auto | unde
r for now | 661 // auto | [ under || [ left | right ] ], but we only support auto | unde
r for now |
| 677 ASSERT(RuntimeEnabledFeatures::css3TextDecorationsEnabled()); | 662 ASSERT(RuntimeEnabledFeatures::css3TextDecorationsEnabled()); |
| 678 validPrimitive = (id == CSSValueAuto || id == CSSValueUnder); | 663 validPrimitive = (id == CSSValueAuto || id == CSSValueUnder); |
| 679 break; | 664 break; |
| 680 | 665 |
| 681 case CSSPropertySrc: | 666 case CSSPropertySrc: |
| 682 case CSSPropertyUnicodeRange: | 667 case CSSPropertyUnicodeRange: |
| 683 /* @font-face only descriptors */ | 668 /* @font-face only descriptors */ |
| 684 break; | 669 break; |
| (...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1218 case CSSPropertyTransitionTimingFunction: | 1203 case CSSPropertyTransitionTimingFunction: |
| 1219 case CSSPropertyTransitionProperty: | 1204 case CSSPropertyTransitionProperty: |
| 1220 case CSSPropertyOrphans: | 1205 case CSSPropertyOrphans: |
| 1221 case CSSPropertyWidows: | 1206 case CSSPropertyWidows: |
| 1222 case CSSPropertyWebkitTapHighlightColor: | 1207 case CSSPropertyWebkitTapHighlightColor: |
| 1223 case CSSPropertyWebkitTextFillColor: | 1208 case CSSPropertyWebkitTextFillColor: |
| 1224 case CSSPropertyColor: | 1209 case CSSPropertyColor: |
| 1225 case CSSPropertyZIndex: | 1210 case CSSPropertyZIndex: |
| 1226 case CSSPropertyTextShadow: | 1211 case CSSPropertyTextShadow: |
| 1227 case CSSPropertyBoxShadow: | 1212 case CSSPropertyBoxShadow: |
| 1213 case CSSPropertyTextDecorationColor: |
| 1214 case CSSPropertyWebkitTextDecorationsInEffect: |
| 1215 case CSSPropertyTextDecorationLine: |
| 1216 case CSSPropertyTextDecoration: |
| 1228 validPrimitive = false; | 1217 validPrimitive = false; |
| 1229 break; | 1218 break; |
| 1230 | 1219 |
| 1231 case CSSPropertyScrollSnapPointsX: | 1220 case CSSPropertyScrollSnapPointsX: |
| 1232 case CSSPropertyScrollSnapPointsY: | 1221 case CSSPropertyScrollSnapPointsY: |
| 1233 parsedValue = parseScrollSnapPoints(); | 1222 parsedValue = parseScrollSnapPoints(); |
| 1234 break; | 1223 break; |
| 1235 case CSSPropertyScrollSnapCoordinate: | 1224 case CSSPropertyScrollSnapCoordinate: |
| 1236 parsedValue = parseScrollSnapCoordinate(); | 1225 parsedValue = parseScrollSnapCoordinate(); |
| 1237 break; | 1226 break; |
| (...skipping 4348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5586 | 5575 |
| 5587 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated()
; | 5576 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated()
; |
| 5588 list->append(xValue.release()); | 5577 list->append(xValue.release()); |
| 5589 if (yValue) | 5578 if (yValue) |
| 5590 list->append(yValue.release()); | 5579 list->append(yValue.release()); |
| 5591 if (zValue) | 5580 if (zValue) |
| 5592 list->append(zValue.release()); | 5581 list->append(zValue.release()); |
| 5593 return list.release(); | 5582 return list.release(); |
| 5594 } | 5583 } |
| 5595 | 5584 |
| 5596 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseTextDecoration() | |
| 5597 { | |
| 5598 CSSParserValue* value = m_valueList->current(); | |
| 5599 if (value && value->id == CSSValueNone) { | |
| 5600 m_valueList->next(); | |
| 5601 return cssValuePool().createIdentifierValue(CSSValueNone); | |
| 5602 } | |
| 5603 | |
| 5604 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated()
; | |
| 5605 bool isValid = true; | |
| 5606 while (isValid && value) { | |
| 5607 switch (value->id) { | |
| 5608 case CSSValueUnderline: | |
| 5609 case CSSValueOverline: | |
| 5610 case CSSValueLineThrough: | |
| 5611 case CSSValueBlink: | |
| 5612 // TODO(timloh): This will incorrectly accept "blink blink" | |
| 5613 list->append(cssValuePool().createIdentifierValue(value->id)); | |
| 5614 break; | |
| 5615 default: | |
| 5616 isValid = false; | |
| 5617 break; | |
| 5618 } | |
| 5619 if (isValid) | |
| 5620 value = m_valueList->next(); | |
| 5621 } | |
| 5622 | |
| 5623 // Values are either valid or in shorthand scope. | |
| 5624 if (list->length()) | |
| 5625 return list.release(); | |
| 5626 return nullptr; | |
| 5627 } | |
| 5628 | |
| 5629 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseTextEmphasisStyle() | 5585 PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseTextEmphasisStyle() |
| 5630 { | 5586 { |
| 5631 RefPtrWillBeRawPtr<CSSPrimitiveValue> fill = nullptr; | 5587 RefPtrWillBeRawPtr<CSSPrimitiveValue> fill = nullptr; |
| 5632 RefPtrWillBeRawPtr<CSSPrimitiveValue> shape = nullptr; | 5588 RefPtrWillBeRawPtr<CSSPrimitiveValue> shape = nullptr; |
| 5633 | 5589 |
| 5634 for (CSSParserValue* value = m_valueList->current(); value; value = m_valueL
ist->next()) { | 5590 for (CSSParserValue* value = m_valueList->current(); value; value = m_valueL
ist->next()) { |
| 5635 if (value->m_unit == CSSParserValue::String) { | 5591 if (value->m_unit == CSSParserValue::String) { |
| 5636 if (fill || shape) | 5592 if (fill || shape) |
| 5637 return nullptr; | 5593 return nullptr; |
| 5638 m_valueList->next(); | 5594 m_valueList->next(); |
| (...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6245 } | 6201 } |
| 6246 } | 6202 } |
| 6247 | 6203 |
| 6248 if (!list->length()) | 6204 if (!list->length()) |
| 6249 return nullptr; | 6205 return nullptr; |
| 6250 | 6206 |
| 6251 return list.release(); | 6207 return list.release(); |
| 6252 } | 6208 } |
| 6253 | 6209 |
| 6254 } // namespace blink | 6210 } // namespace blink |
| OLD | NEW |