OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "core/css/parser/CSSParserFastPaths.h" | 5 #include "core/css/parser/CSSParserFastPaths.h" |
6 | 6 |
7 #include "core/StylePropertyShorthand.h" | 7 #include "core/StylePropertyShorthand.h" |
8 #include "core/css/CSSColorValue.h" | 8 #include "core/css/CSSColorValue.h" |
9 #include "core/css/CSSFunctionValue.h" | 9 #include "core/css/CSSFunctionValue.h" |
10 #include "core/css/CSSIdentifierValue.h" | 10 #include "core/css/CSSIdentifierValue.h" |
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
481 parseResult = fastParseColorInternal(color, string.characters8(), | 481 parseResult = fastParseColorInternal(color, string.characters8(), |
482 string.length(), quirksMode); | 482 string.length(), quirksMode); |
483 else | 483 else |
484 parseResult = fastParseColorInternal(color, string.characters16(), | 484 parseResult = fastParseColorInternal(color, string.characters16(), |
485 string.length(), quirksMode); | 485 string.length(), quirksMode); |
486 if (!parseResult) | 486 if (!parseResult) |
487 return nullptr; | 487 return nullptr; |
488 return CSSColorValue::create(color); | 488 return CSSColorValue::create(color); |
489 } | 489 } |
490 | 490 |
| 491 // TODO(sashab): Generate this function from CSSProperties.in. |
491 bool CSSParserFastPaths::isValidKeywordPropertyAndValue( | 492 bool CSSParserFastPaths::isValidKeywordPropertyAndValue( |
492 CSSPropertyID propertyId, | 493 CSSPropertyID propertyId, |
493 CSSValueID valueID, | 494 CSSValueID valueID, |
494 CSSParserMode parserMode) { | 495 CSSParserMode parserMode) { |
495 if (valueID == CSSValueInvalid || !isValueAllowedInMode(valueID, parserMode)) | 496 if (valueID == CSSValueInvalid || !isValueAllowedInMode(valueID, parserMode)) |
496 return false; | 497 return false; |
497 | 498 |
498 // For range checks, enum ordering is defined by CSSValueKeywords.in. | |
499 switch (propertyId) { | 499 switch (propertyId) { |
500 case CSSPropertyAlignmentBaseline: | 500 case CSSPropertyAlignmentBaseline: |
501 return valueID == CSSValueAuto || valueID == CSSValueAlphabetic || | 501 return valueID == CSSValueAuto || valueID == CSSValueAlphabetic || |
502 valueID == CSSValueBaseline || valueID == CSSValueMiddle || | 502 valueID == CSSValueBaseline || valueID == CSSValueMiddle || |
503 (valueID >= CSSValueBeforeEdge && valueID <= CSSValueMathematical); | 503 valueID == CSSValueBeforeEdge || valueID == CSSValueAfterEdge || |
| 504 valueID == CSSValueCentral || valueID == CSSValueTextBeforeEdge || |
| 505 valueID == CSSValueTextAfterEdge || |
| 506 valueID == CSSValueIdeographic || valueID == CSSValueHanging || |
| 507 valueID == CSSValueMathematical; |
504 case CSSPropertyAll: | 508 case CSSPropertyAll: |
505 return false; // Only accepts css-wide keywords | 509 return false; // Only accepts css-wide keywords |
506 case CSSPropertyBackgroundRepeatX: | 510 case CSSPropertyBackgroundRepeatX: |
507 case CSSPropertyBackgroundRepeatY: | 511 case CSSPropertyBackgroundRepeatY: |
508 return valueID == CSSValueRepeat || valueID == CSSValueNoRepeat; | 512 return valueID == CSSValueRepeat || valueID == CSSValueNoRepeat; |
509 case CSSPropertyBorderCollapse: | 513 case CSSPropertyBorderCollapse: |
510 return valueID == CSSValueCollapse || valueID == CSSValueSeparate; | 514 return valueID == CSSValueCollapse || valueID == CSSValueSeparate; |
511 case CSSPropertyBorderTopStyle: | 515 case CSSPropertyBorderTopStyle: |
512 case CSSPropertyBorderRightStyle: | 516 case CSSPropertyBorderRightStyle: |
513 case CSSPropertyBorderBottomStyle: | 517 case CSSPropertyBorderBottomStyle: |
514 case CSSPropertyBorderLeftStyle: | 518 case CSSPropertyBorderLeftStyle: |
515 case CSSPropertyWebkitBorderAfterStyle: | 519 case CSSPropertyWebkitBorderAfterStyle: |
516 case CSSPropertyWebkitBorderBeforeStyle: | 520 case CSSPropertyWebkitBorderBeforeStyle: |
517 case CSSPropertyWebkitBorderEndStyle: | 521 case CSSPropertyWebkitBorderEndStyle: |
518 case CSSPropertyWebkitBorderStartStyle: | 522 case CSSPropertyWebkitBorderStartStyle: |
519 case CSSPropertyColumnRuleStyle: | 523 case CSSPropertyColumnRuleStyle: |
520 return valueID >= CSSValueNone && valueID <= CSSValueDouble; | 524 return valueID == CSSValueNone || valueID == CSSValueHidden || |
| 525 valueID == CSSValueInset || valueID == CSSValueGroove || |
| 526 valueID == CSSValueOutset || valueID == CSSValueRidge || |
| 527 valueID == CSSValueDotted || valueID == CSSValueDashed || |
| 528 valueID == CSSValueSolid || valueID == CSSValueDouble; |
521 case CSSPropertyBoxSizing: | 529 case CSSPropertyBoxSizing: |
522 return valueID == CSSValueBorderBox || valueID == CSSValueContentBox; | 530 return valueID == CSSValueBorderBox || valueID == CSSValueContentBox; |
523 case CSSPropertyBufferedRendering: | 531 case CSSPropertyBufferedRendering: |
524 return valueID == CSSValueAuto || valueID == CSSValueDynamic || | 532 return valueID == CSSValueAuto || valueID == CSSValueDynamic || |
525 valueID == CSSValueStatic; | 533 valueID == CSSValueStatic; |
526 case CSSPropertyCaptionSide: | 534 case CSSPropertyCaptionSide: |
527 return valueID == CSSValueLeft || valueID == CSSValueRight || | 535 return valueID == CSSValueLeft || valueID == CSSValueRight || |
528 valueID == CSSValueTop || valueID == CSSValueBottom; | 536 valueID == CSSValueTop || valueID == CSSValueBottom; |
529 case CSSPropertyClear: | 537 case CSSPropertyClear: |
530 return valueID == CSSValueNone || valueID == CSSValueLeft || | 538 return valueID == CSSValueNone || valueID == CSSValueLeft || |
531 valueID == CSSValueRight || valueID == CSSValueBoth; | 539 valueID == CSSValueRight || valueID == CSSValueBoth; |
532 case CSSPropertyClipRule: | 540 case CSSPropertyClipRule: |
533 case CSSPropertyFillRule: | 541 case CSSPropertyFillRule: |
534 return valueID == CSSValueNonzero || valueID == CSSValueEvenodd; | 542 return valueID == CSSValueNonzero || valueID == CSSValueEvenodd; |
535 case CSSPropertyColorInterpolation: | 543 case CSSPropertyColorInterpolation: |
536 case CSSPropertyColorInterpolationFilters: | 544 case CSSPropertyColorInterpolationFilters: |
537 return valueID == CSSValueAuto || valueID == CSSValueSRGB || | 545 return valueID == CSSValueAuto || valueID == CSSValueSRGB || |
538 valueID == CSSValueLinearRGB; | 546 valueID == CSSValueLinearRGB; |
539 case CSSPropertyColorRendering: | 547 case CSSPropertyColorRendering: |
540 return valueID == CSSValueAuto || valueID == CSSValueOptimizeSpeed || | 548 return valueID == CSSValueAuto || valueID == CSSValueOptimizeSpeed || |
541 valueID == CSSValueOptimizeQuality; | 549 valueID == CSSValueOptimizeQuality; |
542 case CSSPropertyDirection: | 550 case CSSPropertyDirection: |
543 return valueID == CSSValueLtr || valueID == CSSValueRtl; | 551 return valueID == CSSValueLtr || valueID == CSSValueRtl; |
544 case CSSPropertyDisplay: | 552 case CSSPropertyDisplay: |
545 return (valueID >= CSSValueInline && valueID <= CSSValueInlineFlex) || | 553 return valueID == CSSValueInline || valueID == CSSValueBlock || |
546 valueID == CSSValueWebkitFlex || | 554 valueID == CSSValueListItem || valueID == CSSValueInlineBlock || |
| 555 valueID == CSSValueTable || valueID == CSSValueInlineTable || |
| 556 valueID == CSSValueTableRowGroup || |
| 557 valueID == CSSValueTableHeaderGroup || |
| 558 valueID == CSSValueTableFooterGroup || |
| 559 valueID == CSSValueTableRow || |
| 560 valueID == CSSValueTableColumnGroup || |
| 561 valueID == CSSValueTableColumn || valueID == CSSValueTableCell || |
| 562 valueID == CSSValueTableCaption || valueID == CSSValueWebkitBox || |
| 563 valueID == CSSValueWebkitInlineBox || valueID == CSSValueFlex || |
| 564 valueID == CSSValueInlineFlex || valueID == CSSValueWebkitFlex || |
547 valueID == CSSValueWebkitInlineFlex || valueID == CSSValueNone || | 565 valueID == CSSValueWebkitInlineFlex || valueID == CSSValueNone || |
548 (RuntimeEnabledFeatures::cssGridLayoutEnabled() && | 566 (RuntimeEnabledFeatures::cssGridLayoutEnabled() && |
549 (valueID == CSSValueGrid || valueID == CSSValueInlineGrid)) || | 567 (valueID == CSSValueGrid || valueID == CSSValueInlineGrid)) || |
550 (RuntimeEnabledFeatures::cssDisplayContentsEnabled() && | 568 (RuntimeEnabledFeatures::cssDisplayContentsEnabled() && |
551 valueID == CSSValueContents); | 569 valueID == CSSValueContents); |
552 case CSSPropertyDominantBaseline: | 570 case CSSPropertyDominantBaseline: |
553 return valueID == CSSValueAuto || valueID == CSSValueAlphabetic || | 571 return valueID == CSSValueAuto || valueID == CSSValueAlphabetic || |
554 valueID == CSSValueMiddle || | 572 valueID == CSSValueMiddle || valueID == CSSValueUseScript || |
555 (valueID >= CSSValueUseScript && valueID <= CSSValueResetSize) || | 573 valueID == CSSValueNoChange || valueID == CSSValueResetSize || |
556 (valueID >= CSSValueCentral && valueID <= CSSValueMathematical); | 574 valueID == CSSValueCentral || valueID == CSSValueTextBeforeEdge || |
| 575 valueID == CSSValueTextAfterEdge || |
| 576 valueID == CSSValueIdeographic || valueID == CSSValueHanging || |
| 577 valueID == CSSValueMathematical; |
557 case CSSPropertyEmptyCells: | 578 case CSSPropertyEmptyCells: |
558 return valueID == CSSValueShow || valueID == CSSValueHide; | 579 return valueID == CSSValueShow || valueID == CSSValueHide; |
559 case CSSPropertyFloat: | 580 case CSSPropertyFloat: |
560 return valueID == CSSValueLeft || valueID == CSSValueRight || | 581 return valueID == CSSValueLeft || valueID == CSSValueRight || |
561 valueID == CSSValueNone; | 582 valueID == CSSValueNone; |
562 case CSSPropertyFontStyle: | 583 case CSSPropertyFontStyle: |
563 return valueID == CSSValueNormal || valueID == CSSValueItalic || | 584 return valueID == CSSValueNormal || valueID == CSSValueItalic || |
564 valueID == CSSValueOblique; | 585 valueID == CSSValueOblique; |
565 case CSSPropertyFontStretch: | 586 case CSSPropertyFontStretch: |
566 return valueID == CSSValueNormal || (valueID >= CSSValueUltraCondensed && | 587 return valueID == CSSValueNormal || valueID == CSSValueUltraCondensed || |
567 valueID <= CSSValueUltraExpanded); | 588 valueID == CSSValueExtraCondensed || |
| 589 valueID == CSSValueCondensed || valueID == CSSValueSemiCondensed || |
| 590 valueID == CSSValueSemiExpanded || valueID == CSSValueExpanded || |
| 591 valueID == CSSValueExtraExpanded || |
| 592 valueID == CSSValueUltraExpanded; |
568 case CSSPropertyImageRendering: | 593 case CSSPropertyImageRendering: |
569 return valueID == CSSValueAuto || | 594 return valueID == CSSValueAuto || |
570 valueID == CSSValueWebkitOptimizeContrast || | 595 valueID == CSSValueWebkitOptimizeContrast || |
571 valueID == CSSValuePixelated; | 596 valueID == CSSValuePixelated; |
572 case CSSPropertyIsolation: | 597 case CSSPropertyIsolation: |
573 return valueID == CSSValueAuto || valueID == CSSValueIsolate; | 598 return valueID == CSSValueAuto || valueID == CSSValueIsolate; |
574 case CSSPropertyListStylePosition: | 599 case CSSPropertyListStylePosition: |
575 return valueID == CSSValueInside || valueID == CSSValueOutside; | 600 return valueID == CSSValueInside || valueID == CSSValueOutside; |
576 case CSSPropertyListStyleType: | 601 case CSSPropertyListStyleType: |
577 return (valueID >= CSSValueDisc && valueID <= CSSValueKatakanaIroha) || | 602 return valueID == CSSValueDisc || valueID == CSSValueCircle || |
578 valueID == CSSValueNone; | 603 valueID == CSSValueSquare || valueID == CSSValueDecimal || |
| 604 valueID == CSSValueDecimalLeadingZero || |
| 605 valueID == CSSValueArabicIndic || valueID == CSSValueBengali || |
| 606 valueID == CSSValueCambodian || valueID == CSSValueKhmer || |
| 607 valueID == CSSValueDevanagari || valueID == CSSValueGujarati || |
| 608 valueID == CSSValueGurmukhi || valueID == CSSValueKannada || |
| 609 valueID == CSSValueLao || valueID == CSSValueMalayalam || |
| 610 valueID == CSSValueMongolian || valueID == CSSValueMyanmar || |
| 611 valueID == CSSValueOriya || valueID == CSSValuePersian || |
| 612 valueID == CSSValueUrdu || valueID == CSSValueTelugu || |
| 613 valueID == CSSValueTibetan || valueID == CSSValueThai || |
| 614 valueID == CSSValueLowerRoman || valueID == CSSValueUpperRoman || |
| 615 valueID == CSSValueLowerGreek || valueID == CSSValueLowerAlpha || |
| 616 valueID == CSSValueLowerLatin || valueID == CSSValueUpperAlpha || |
| 617 valueID == CSSValueUpperLatin || |
| 618 valueID == CSSValueCjkEarthlyBranch || |
| 619 valueID == CSSValueCjkHeavenlyStem || |
| 620 valueID == CSSValueEthiopicHalehame || |
| 621 valueID == CSSValueEthiopicHalehameAm || |
| 622 valueID == CSSValueEthiopicHalehameTiEr || |
| 623 valueID == CSSValueEthiopicHalehameTiEt || |
| 624 valueID == CSSValueHangul || valueID == CSSValueHangulConsonant || |
| 625 valueID == CSSValueKoreanHangulFormal || |
| 626 valueID == CSSValueKoreanHanjaFormal || |
| 627 valueID == CSSValueKoreanHanjaInformal || |
| 628 valueID == CSSValueHebrew || valueID == CSSValueArmenian || |
| 629 valueID == CSSValueLowerArmenian || |
| 630 valueID == CSSValueUpperArmenian || valueID == CSSValueGeorgian || |
| 631 valueID == CSSValueCjkIdeographic || |
| 632 valueID == CSSValueSimpChineseFormal || |
| 633 valueID == CSSValueSimpChineseInformal || |
| 634 valueID == CSSValueTradChineseFormal || |
| 635 valueID == CSSValueTradChineseInformal || |
| 636 valueID == CSSValueHiragana || valueID == CSSValueKatakana || |
| 637 valueID == CSSValueHiraganaIroha || |
| 638 valueID == CSSValueKatakanaIroha || valueID == CSSValueNone; |
579 case CSSPropertyMaskType: | 639 case CSSPropertyMaskType: |
580 return valueID == CSSValueLuminance || valueID == CSSValueAlpha; | 640 return valueID == CSSValueLuminance || valueID == CSSValueAlpha; |
581 case CSSPropertyObjectFit: | 641 case CSSPropertyObjectFit: |
582 return valueID == CSSValueFill || valueID == CSSValueContain || | 642 return valueID == CSSValueFill || valueID == CSSValueContain || |
583 valueID == CSSValueCover || valueID == CSSValueNone || | 643 valueID == CSSValueCover || valueID == CSSValueNone || |
584 valueID == CSSValueScaleDown; | 644 valueID == CSSValueScaleDown; |
585 case CSSPropertyOutlineStyle: | 645 case CSSPropertyOutlineStyle: |
586 return valueID == CSSValueAuto || valueID == CSSValueNone || | 646 return valueID == CSSValueAuto || valueID == CSSValueNone || |
587 (valueID >= CSSValueInset && valueID <= CSSValueDouble); | 647 valueID == CSSValueInset || valueID == CSSValueGroove || |
| 648 valueID == CSSValueOutset || valueID == CSSValueRidge || |
| 649 valueID == CSSValueDotted || valueID == CSSValueDashed || |
| 650 valueID == CSSValueSolid || valueID == CSSValueDouble; |
588 case CSSPropertyOverflowAnchor: | 651 case CSSPropertyOverflowAnchor: |
589 return valueID == CSSValueVisible || valueID == CSSValueNone || | 652 return valueID == CSSValueVisible || valueID == CSSValueNone || |
590 valueID == CSSValueAuto; | 653 valueID == CSSValueAuto; |
591 case CSSPropertyOverflowWrap: | 654 case CSSPropertyOverflowWrap: |
592 case CSSPropertyWordWrap: | 655 case CSSPropertyWordWrap: |
593 return valueID == CSSValueNormal || valueID == CSSValueBreakWord; | 656 return valueID == CSSValueNormal || valueID == CSSValueBreakWord; |
594 case CSSPropertyOverflowX: | 657 case CSSPropertyOverflowX: |
595 return valueID == CSSValueVisible || valueID == CSSValueHidden || | 658 return valueID == CSSValueVisible || valueID == CSSValueHidden || |
596 valueID == CSSValueScroll || valueID == CSSValueAuto || | 659 valueID == CSSValueScroll || valueID == CSSValueAuto || |
597 valueID == CSSValueOverlay; | 660 valueID == CSSValueOverlay; |
598 case CSSPropertyOverflowY: | 661 case CSSPropertyOverflowY: |
599 return valueID == CSSValueVisible || valueID == CSSValueHidden || | 662 return valueID == CSSValueVisible || valueID == CSSValueHidden || |
600 valueID == CSSValueScroll || valueID == CSSValueAuto || | 663 valueID == CSSValueScroll || valueID == CSSValueAuto || |
601 valueID == CSSValueOverlay || valueID == CSSValueWebkitPagedX || | 664 valueID == CSSValueOverlay || valueID == CSSValueWebkitPagedX || |
602 valueID == CSSValueWebkitPagedY; | 665 valueID == CSSValueWebkitPagedY; |
603 case CSSPropertyBreakAfter: | 666 case CSSPropertyBreakAfter: |
604 case CSSPropertyBreakBefore: | 667 case CSSPropertyBreakBefore: |
605 return valueID == CSSValueAuto || valueID == CSSValueAvoid || | 668 return valueID == CSSValueAuto || valueID == CSSValueAvoid || |
606 valueID == CSSValueAvoidPage || valueID == CSSValuePage || | 669 valueID == CSSValueAvoidPage || valueID == CSSValuePage || |
607 valueID == CSSValueLeft || valueID == CSSValueRight || | 670 valueID == CSSValueLeft || valueID == CSSValueRight || |
608 valueID == CSSValueRecto || valueID == CSSValueVerso || | 671 valueID == CSSValueRecto || valueID == CSSValueVerso || |
609 valueID == CSSValueAvoidColumn || valueID == CSSValueColumn; | 672 valueID == CSSValueAvoidColumn || valueID == CSSValueColumn; |
610 case CSSPropertyBreakInside: | 673 case CSSPropertyBreakInside: |
611 return valueID == CSSValueAuto || valueID == CSSValueAvoid || | 674 return valueID == CSSValueAuto || valueID == CSSValueAvoid || |
612 valueID == CSSValueAvoidPage || valueID == CSSValueAvoidColumn; | 675 valueID == CSSValueAvoidPage || valueID == CSSValueAvoidColumn; |
613 case CSSPropertyPointerEvents: | 676 case CSSPropertyPointerEvents: |
614 return valueID == CSSValueVisible || valueID == CSSValueNone || | 677 return valueID == CSSValueVisible || valueID == CSSValueNone || |
615 valueID == CSSValueAll || valueID == CSSValueAuto || | 678 valueID == CSSValueAll || valueID == CSSValueAuto || |
616 (valueID >= CSSValueVisiblePainted && | 679 valueID == CSSValueVisiblePainted || |
617 valueID <= CSSValueBoundingBox); | 680 valueID == CSSValueVisibleFill || |
| 681 valueID == CSSValueVisibleStroke || valueID == CSSValuePainted || |
| 682 valueID == CSSValueFill || valueID == CSSValueStroke || |
| 683 valueID == CSSValueBoundingBox; |
618 case CSSPropertyPosition: | 684 case CSSPropertyPosition: |
619 return valueID == CSSValueStatic || valueID == CSSValueRelative || | 685 return valueID == CSSValueStatic || valueID == CSSValueRelative || |
620 valueID == CSSValueAbsolute || valueID == CSSValueFixed || | 686 valueID == CSSValueAbsolute || valueID == CSSValueFixed || |
621 (RuntimeEnabledFeatures::cssStickyPositionEnabled() && | 687 (RuntimeEnabledFeatures::cssStickyPositionEnabled() && |
622 valueID == CSSValueSticky); | 688 valueID == CSSValueSticky); |
623 case CSSPropertyResize: | 689 case CSSPropertyResize: |
624 return valueID == CSSValueNone || valueID == CSSValueBoth || | 690 return valueID == CSSValueNone || valueID == CSSValueBoth || |
625 valueID == CSSValueHorizontal || valueID == CSSValueVertical || | 691 valueID == CSSValueHorizontal || valueID == CSSValueVertical || |
626 valueID == CSSValueAuto; | 692 valueID == CSSValueAuto; |
627 case CSSPropertyScrollBehavior: | 693 case CSSPropertyScrollBehavior: |
(...skipping 10 matching lines...) Expand all Loading... |
638 valueID == CSSValueNoPunctuation; | 704 valueID == CSSValueNoPunctuation; |
639 case CSSPropertyStrokeLinejoin: | 705 case CSSPropertyStrokeLinejoin: |
640 return valueID == CSSValueMiter || valueID == CSSValueRound || | 706 return valueID == CSSValueMiter || valueID == CSSValueRound || |
641 valueID == CSSValueBevel; | 707 valueID == CSSValueBevel; |
642 case CSSPropertyStrokeLinecap: | 708 case CSSPropertyStrokeLinecap: |
643 return valueID == CSSValueButt || valueID == CSSValueRound || | 709 return valueID == CSSValueButt || valueID == CSSValueRound || |
644 valueID == CSSValueSquare; | 710 valueID == CSSValueSquare; |
645 case CSSPropertyTableLayout: | 711 case CSSPropertyTableLayout: |
646 return valueID == CSSValueAuto || valueID == CSSValueFixed; | 712 return valueID == CSSValueAuto || valueID == CSSValueFixed; |
647 case CSSPropertyTextAlign: | 713 case CSSPropertyTextAlign: |
648 return (valueID >= CSSValueWebkitAuto && | 714 return valueID == CSSValueWebkitAuto || valueID == CSSValueLeft || |
649 valueID <= CSSValueInternalCenter) || | 715 valueID == CSSValueRight || valueID == CSSValueCenter || |
650 valueID == CSSValueStart || valueID == CSSValueEnd; | 716 valueID == CSSValueJustify || valueID == CSSValueWebkitLeft || |
| 717 valueID == CSSValueWebkitRight || |
| 718 valueID == CSSValueWebkitCenter || |
| 719 valueID == CSSValueWebkitMatchParent || |
| 720 valueID == CSSValueInternalCenter || valueID == CSSValueStart || |
| 721 valueID == CSSValueEnd; |
651 case CSSPropertyTextAlignLast: | 722 case CSSPropertyTextAlignLast: |
652 return (valueID >= CSSValueLeft && valueID <= CSSValueJustify) || | 723 return valueID == CSSValueLeft || valueID == CSSValueRight || |
| 724 valueID == CSSValueCenter || valueID == CSSValueJustify || |
653 valueID == CSSValueStart || valueID == CSSValueEnd || | 725 valueID == CSSValueStart || valueID == CSSValueEnd || |
654 valueID == CSSValueAuto; | 726 valueID == CSSValueAuto; |
655 case CSSPropertyTextAnchor: | 727 case CSSPropertyTextAnchor: |
656 return valueID == CSSValueStart || valueID == CSSValueMiddle || | 728 return valueID == CSSValueStart || valueID == CSSValueMiddle || |
657 valueID == CSSValueEnd; | 729 valueID == CSSValueEnd; |
658 case CSSPropertyTextCombineUpright: | 730 case CSSPropertyTextCombineUpright: |
659 return valueID == CSSValueNone || valueID == CSSValueAll; | 731 return valueID == CSSValueNone || valueID == CSSValueAll; |
660 case CSSPropertyTextDecorationStyle: | 732 case CSSPropertyTextDecorationStyle: |
661 ASSERT(RuntimeEnabledFeatures::css3TextDecorationsEnabled()); | 733 ASSERT(RuntimeEnabledFeatures::css3TextDecorationsEnabled()); |
662 return valueID == CSSValueSolid || valueID == CSSValueDouble || | 734 return valueID == CSSValueSolid || valueID == CSSValueDouble || |
663 valueID == CSSValueDotted || valueID == CSSValueDashed || | 735 valueID == CSSValueDotted || valueID == CSSValueDashed || |
664 valueID == CSSValueWavy; | 736 valueID == CSSValueWavy; |
665 case CSSPropertyTextJustify: | 737 case CSSPropertyTextJustify: |
666 ASSERT(RuntimeEnabledFeatures::css3TextEnabled()); | 738 ASSERT(RuntimeEnabledFeatures::css3TextEnabled()); |
667 return valueID == CSSValueInterWord || valueID == CSSValueDistribute || | 739 return valueID == CSSValueInterWord || valueID == CSSValueDistribute || |
668 valueID == CSSValueAuto || valueID == CSSValueNone; | 740 valueID == CSSValueAuto || valueID == CSSValueNone; |
669 case CSSPropertyTextOrientation: | 741 case CSSPropertyTextOrientation: |
670 return valueID == CSSValueMixed || valueID == CSSValueUpright || | 742 return valueID == CSSValueMixed || valueID == CSSValueUpright || |
671 valueID == CSSValueSideways || valueID == CSSValueSidewaysRight; | 743 valueID == CSSValueSideways || valueID == CSSValueSidewaysRight; |
672 case CSSPropertyWebkitTextOrientation: | 744 case CSSPropertyWebkitTextOrientation: |
673 return valueID == CSSValueSideways || valueID == CSSValueSidewaysRight || | 745 return valueID == CSSValueSideways || valueID == CSSValueSidewaysRight || |
674 valueID == CSSValueVerticalRight || valueID == CSSValueUpright; | 746 valueID == CSSValueVerticalRight || valueID == CSSValueUpright; |
675 case CSSPropertyTextOverflow: | 747 case CSSPropertyTextOverflow: |
676 return valueID == CSSValueClip || valueID == CSSValueEllipsis; | 748 return valueID == CSSValueClip || valueID == CSSValueEllipsis; |
677 case CSSPropertyTextRendering: | 749 case CSSPropertyTextRendering: |
678 return valueID == CSSValueAuto || valueID == CSSValueOptimizeSpeed || | 750 return valueID == CSSValueAuto || valueID == CSSValueOptimizeSpeed || |
679 valueID == CSSValueOptimizeLegibility || | 751 valueID == CSSValueOptimizeLegibility || |
680 valueID == CSSValueGeometricPrecision; | 752 valueID == CSSValueGeometricPrecision; |
681 case CSSPropertyTextTransform: // capitalize | uppercase | lowercase | none | 753 case CSSPropertyTextTransform: // capitalize | uppercase | lowercase | none |
682 return (valueID >= CSSValueCapitalize && valueID <= CSSValueLowercase) || | 754 return valueID == CSSValueCapitalize || valueID == CSSValueUppercase || |
683 valueID == CSSValueNone; | 755 valueID == CSSValueLowercase || valueID == CSSValueNone; |
684 case CSSPropertyUnicodeBidi: | 756 case CSSPropertyUnicodeBidi: |
685 return valueID == CSSValueNormal || valueID == CSSValueEmbed || | 757 return valueID == CSSValueNormal || valueID == CSSValueEmbed || |
686 valueID == CSSValueBidiOverride || | 758 valueID == CSSValueBidiOverride || |
687 valueID == CSSValueWebkitIsolate || | 759 valueID == CSSValueWebkitIsolate || |
688 valueID == CSSValueWebkitIsolateOverride || | 760 valueID == CSSValueWebkitIsolateOverride || |
689 valueID == CSSValueWebkitPlaintext || valueID == CSSValueIsolate || | 761 valueID == CSSValueWebkitPlaintext || valueID == CSSValueIsolate || |
690 valueID == CSSValueIsolateOverride || valueID == CSSValuePlaintext; | 762 valueID == CSSValueIsolateOverride || valueID == CSSValuePlaintext; |
691 case CSSPropertyVectorEffect: | 763 case CSSPropertyVectorEffect: |
692 return valueID == CSSValueNone || valueID == CSSValueNonScalingStroke; | 764 return valueID == CSSValueNone || valueID == CSSValueNonScalingStroke; |
693 case CSSPropertyVisibility: | 765 case CSSPropertyVisibility: |
694 return valueID == CSSValueVisible || valueID == CSSValueHidden || | 766 return valueID == CSSValueVisible || valueID == CSSValueHidden || |
695 valueID == CSSValueCollapse; | 767 valueID == CSSValueCollapse; |
696 case CSSPropertyWebkitAppRegion: | 768 case CSSPropertyWebkitAppRegion: |
697 return valueID >= CSSValueDrag && valueID <= CSSValueNoDrag; | 769 return valueID == CSSValueDrag || valueID == CSSValueNoDrag; |
698 case CSSPropertyWebkitAppearance: | 770 case CSSPropertyWebkitAppearance: |
699 return (valueID >= CSSValueCheckbox && valueID <= CSSValueTextarea) || | 771 return valueID == CSSValueCheckbox || valueID == CSSValueRadio || |
| 772 valueID == CSSValuePushButton || valueID == CSSValueSquareButton || |
| 773 valueID == CSSValueButton || valueID == CSSValueButtonBevel || |
| 774 valueID == CSSValueInnerSpinButton || valueID == CSSValueListbox || |
| 775 valueID == CSSValueListitem || |
| 776 valueID == CSSValueMediaEnterFullscreenButton || |
| 777 valueID == CSSValueMediaExitFullscreenButton || |
| 778 valueID == CSSValueMediaFullscreenVolumeSlider || |
| 779 valueID == CSSValueMediaFullscreenVolumeSliderThumb || |
| 780 valueID == CSSValueMediaMuteButton || |
| 781 valueID == CSSValueMediaPlayButton || |
| 782 valueID == CSSValueMediaOverlayPlayButton || |
| 783 valueID == CSSValueMediaToggleClosedCaptionsButton || |
| 784 valueID == CSSValueMediaSlider || |
| 785 valueID == CSSValueMediaSliderthumb || |
| 786 valueID == CSSValueMediaVolumeSliderContainer || |
| 787 valueID == CSSValueMediaVolumeSlider || |
| 788 valueID == CSSValueMediaVolumeSliderthumb || |
| 789 valueID == CSSValueMediaControlsBackground || |
| 790 valueID == CSSValueMediaControlsFullscreenBackground || |
| 791 valueID == CSSValueMediaCurrentTimeDisplay || |
| 792 valueID == CSSValueMediaTimeRemainingDisplay || |
| 793 valueID == CSSValueInternalMediaCastOffButton || |
| 794 valueID == CSSValueInternalMediaOverlayCastOffButton || |
| 795 valueID == CSSValueInternalMediaTrackSelectionCheckmark || |
| 796 valueID == CSSValueInternalMediaClosedCaptionsIcon || |
| 797 valueID == CSSValueInternalMediaSubtitlesIcon || |
| 798 valueID == CSSValueInternalMediaOverflowButton || |
| 799 valueID == CSSValueInternalMediaDownloadButton || |
| 800 valueID == CSSValueMenulist || valueID == CSSValueMenulistButton || |
| 801 valueID == CSSValueMenulistText || |
| 802 valueID == CSSValueMenulistTextfield || valueID == CSSValueMeter || |
| 803 valueID == CSSValueProgressBar || |
| 804 valueID == CSSValueProgressBarValue || |
| 805 valueID == CSSValueSliderHorizontal || |
| 806 valueID == CSSValueSliderVertical || |
| 807 valueID == CSSValueSliderthumbHorizontal || |
| 808 valueID == CSSValueSliderthumbVertical || |
| 809 valueID == CSSValueCaret || valueID == CSSValueSearchfield || |
| 810 valueID == CSSValueSearchfieldCancelButton || |
| 811 valueID == CSSValueTextfield || valueID == CSSValueTextarea || |
700 valueID == CSSValueNone; | 812 valueID == CSSValueNone; |
701 case CSSPropertyBackfaceVisibility: | 813 case CSSPropertyBackfaceVisibility: |
702 return valueID == CSSValueVisible || valueID == CSSValueHidden; | 814 return valueID == CSSValueVisible || valueID == CSSValueHidden; |
703 case CSSPropertyMixBlendMode: | 815 case CSSPropertyMixBlendMode: |
704 return valueID == CSSValueNormal || valueID == CSSValueMultiply || | 816 return valueID == CSSValueNormal || valueID == CSSValueMultiply || |
705 valueID == CSSValueScreen || valueID == CSSValueOverlay || | 817 valueID == CSSValueScreen || valueID == CSSValueOverlay || |
706 valueID == CSSValueDarken || valueID == CSSValueLighten || | 818 valueID == CSSValueDarken || valueID == CSSValueLighten || |
707 valueID == CSSValueColorDodge || valueID == CSSValueColorBurn || | 819 valueID == CSSValueColorDodge || valueID == CSSValueColorBurn || |
708 valueID == CSSValueHardLight || valueID == CSSValueSoftLight || | 820 valueID == CSSValueHardLight || valueID == CSSValueSoftLight || |
709 valueID == CSSValueDifference || valueID == CSSValueExclusion || | 821 valueID == CSSValueDifference || valueID == CSSValueExclusion || |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
801 case CSSPropertyWebkitUserDrag: | 913 case CSSPropertyWebkitUserDrag: |
802 return valueID == CSSValueAuto || valueID == CSSValueNone || | 914 return valueID == CSSValueAuto || valueID == CSSValueNone || |
803 valueID == CSSValueElement; | 915 valueID == CSSValueElement; |
804 case CSSPropertyWebkitUserModify: | 916 case CSSPropertyWebkitUserModify: |
805 return valueID == CSSValueReadOnly || valueID == CSSValueReadWrite || | 917 return valueID == CSSValueReadOnly || valueID == CSSValueReadWrite || |
806 valueID == CSSValueReadWritePlaintextOnly; | 918 valueID == CSSValueReadWritePlaintextOnly; |
807 case CSSPropertyUserSelect: | 919 case CSSPropertyUserSelect: |
808 return valueID == CSSValueAuto || valueID == CSSValueNone || | 920 return valueID == CSSValueAuto || valueID == CSSValueNone || |
809 valueID == CSSValueText || valueID == CSSValueAll; | 921 valueID == CSSValueText || valueID == CSSValueAll; |
810 case CSSPropertyWebkitWritingMode: | 922 case CSSPropertyWebkitWritingMode: |
811 return valueID >= CSSValueHorizontalTb && valueID <= CSSValueVerticalLr; | 923 return valueID == CSSValueHorizontalTb || valueID == CSSValueVerticalRl || |
| 924 valueID == CSSValueVerticalLr; |
812 case CSSPropertyWritingMode: | 925 case CSSPropertyWritingMode: |
813 return valueID == CSSValueHorizontalTb || valueID == CSSValueVerticalRl || | 926 return valueID == CSSValueHorizontalTb || valueID == CSSValueVerticalRl || |
814 valueID == CSSValueVerticalLr || valueID == CSSValueLrTb || | 927 valueID == CSSValueVerticalLr || valueID == CSSValueLrTb || |
815 valueID == CSSValueRlTb || valueID == CSSValueTbRl || | 928 valueID == CSSValueRlTb || valueID == CSSValueTbRl || |
816 valueID == CSSValueLr || valueID == CSSValueRl || | 929 valueID == CSSValueLr || valueID == CSSValueRl || |
817 valueID == CSSValueTb; | 930 valueID == CSSValueTb; |
818 case CSSPropertyWhiteSpace: | 931 case CSSPropertyWhiteSpace: |
819 return valueID == CSSValueNormal || valueID == CSSValuePre || | 932 return valueID == CSSValueNormal || valueID == CSSValuePre || |
820 valueID == CSSValuePreWrap || valueID == CSSValuePreLine || | 933 valueID == CSSValuePreWrap || valueID == CSSValuePreLine || |
821 valueID == CSSValueNowrap; | 934 valueID == CSSValueNowrap; |
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1200 if (isColorPropertyID(propertyID)) | 1313 if (isColorPropertyID(propertyID)) |
1201 return parseColor(string, parserMode); | 1314 return parseColor(string, parserMode); |
1202 if (CSSValue* keyword = parseKeywordValue(propertyID, string, parserMode)) | 1315 if (CSSValue* keyword = parseKeywordValue(propertyID, string, parserMode)) |
1203 return keyword; | 1316 return keyword; |
1204 if (CSSValue* transform = parseSimpleTransform(propertyID, string)) | 1317 if (CSSValue* transform = parseSimpleTransform(propertyID, string)) |
1205 return transform; | 1318 return transform; |
1206 return nullptr; | 1319 return nullptr; |
1207 } | 1320 } |
1208 | 1321 |
1209 } // namespace blink | 1322 } // namespace blink |
OLD | NEW |