Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: third_party/WebKit/Source/core/css/parser/CSSParserFastPaths.cpp

Issue 2366243002: Remove all ordering requirements in CSSValueKeywords.in (WIP) (Closed)
Patch Set: Some mor efixes Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/StyleColor.cpp ('k') | third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698