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/CSSPrimitiveValueMappings.h

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
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/css/CSSValueKeywords.in » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007 Alexey Proskuryakov <ap@nypop.com>. 2 * Copyright (C) 2007 Alexey Proskuryakov <ap@nypop.com>.
3 * Copyright (C) 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 3 * Copyright (C) 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
4 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. 4 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved.
5 * (http://www.torchmobile.com/) 5 * (http://www.torchmobile.com/)
6 * Copyright (C) 2009 Jeff Schiller <codedread@gmail.com> 6 * Copyright (C) 2009 Jeff Schiller <codedread@gmail.com>
7 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 7 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
8 * 8 *
9 * Redistribution and use in source and binary forms, with or without 9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions 10 * modification, are permitted provided that the following conditions
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 #include "platform/scroll/ScrollableArea.h" 49 #include "platform/scroll/ScrollableArea.h"
50 #include "platform/text/TextDirection.h" 50 #include "platform/text/TextDirection.h"
51 #include "platform/text/TextRun.h" 51 #include "platform/text/TextRun.h"
52 #include "platform/text/UnicodeBidi.h" 52 #include "platform/text/UnicodeBidi.h"
53 #include "platform/text/WritingMode.h" 53 #include "platform/text/WritingMode.h"
54 #include "public/platform/WebBlendMode.h" 54 #include "public/platform/WebBlendMode.h"
55 #include "wtf/MathExtras.h" 55 #include "wtf/MathExtras.h"
56 56
57 namespace blink { 57 namespace blink {
58 58
59 // TODO(sashab): Move these to a separate file, and generate them.
60 template <typename T>
61 inline CSSValueID platformEnumToCSSValueID(T);
62 template <typename T>
63 inline T CSSValueIDToPlatformEnum(CSSValueID);
64
59 // TODO(sashab): Move these to CSSPrimitiveValue.h. 65 // TODO(sashab): Move these to CSSPrimitiveValue.h.
60 template <> 66 template <>
61 inline short CSSPrimitiveValue::convertTo() const { 67 inline short CSSPrimitiveValue::convertTo() const {
62 ASSERT(isNumber()); 68 ASSERT(isNumber());
63 return clampTo<short>(getDoubleValue()); 69 return clampTo<short>(getDoubleValue());
64 } 70 }
65 71
66 template <> 72 template <>
67 inline unsigned short CSSPrimitiveValue::convertTo() const { 73 inline unsigned short CSSPrimitiveValue::convertTo() const {
68 ASSERT(isNumber()); 74 ASSERT(isNumber());
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 m_valueID = CSSValueSolid; 260 m_valueID = CSSValueSolid;
255 break; 261 break;
256 case BorderStyleDouble: 262 case BorderStyleDouble:
257 m_valueID = CSSValueDouble; 263 m_valueID = CSSValueDouble;
258 break; 264 break;
259 } 265 }
260 } 266 }
261 267
262 template <> 268 template <>
263 inline EBorderStyle CSSIdentifierValue::convertTo() const { 269 inline EBorderStyle CSSIdentifierValue::convertTo() const {
264 if (m_valueID == CSSValueAuto) // Valid for CSS outline-style 270 switch (m_valueID) {
265 return BorderStyleDotted; 271 case CSSValueNone:
266 return (EBorderStyle)(m_valueID - CSSValueNone); 272 return BorderStyleNone;
273 case CSSValueHidden:
274 return BorderStyleHidden;
275 case CSSValueInset:
276 return BorderStyleInset;
277 case CSSValueGroove:
278 return BorderStyleGroove;
279 case CSSValueOutset:
280 return BorderStyleOutset;
281 case CSSValueRidge:
282 return BorderStyleRidge;
283 case CSSValueDotted:
284 case CSSValueAuto:
285 return BorderStyleDotted;
286 case CSSValueDashed:
287 return BorderStyleDashed;
288 case CSSValueSolid:
289 return BorderStyleSolid;
290 case CSSValueDouble:
291 return BorderStyleDouble;
292 default:
293 break;
294 }
295
296 NOTREACHED();
297 return BorderStyleNone;
267 } 298 }
268 299
269 template <> 300 template <>
270 inline OutlineIsAuto CSSIdentifierValue::convertTo() const { 301 inline OutlineIsAuto CSSIdentifierValue::convertTo() const {
271 if (m_valueID == CSSValueAuto) 302 if (m_valueID == CSSValueAuto)
272 return OutlineIsAutoOn; 303 return OutlineIsAutoOn;
273 return OutlineIsAutoOff; 304 return OutlineIsAutoOff;
274 } 305 }
275 306
276 template <> 307 template <>
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
509 m_valueID = CSSValueTextarea; 540 m_valueID = CSSValueTextarea;
510 break; 541 break;
511 case CapsLockIndicatorPart: 542 case CapsLockIndicatorPart:
512 m_valueID = CSSValueCapsLockIndicator; 543 m_valueID = CSSValueCapsLockIndicator;
513 break; 544 break;
514 } 545 }
515 } 546 }
516 547
517 template <> 548 template <>
518 inline ControlPart CSSIdentifierValue::convertTo() const { 549 inline ControlPart CSSIdentifierValue::convertTo() const {
519 if (m_valueID == CSSValueNone) 550 switch (m_valueID) {
520 return NoControlPart; 551 case CSSValueNone:
521 return ControlPart(m_valueID - CSSValueCheckbox + 1); 552 return NoControlPart;
553 case CSSValueCheckbox:
554 return CheckboxPart;
555 case CSSValueRadio:
556 return RadioPart;
557 case CSSValuePushButton:
558 return PushButtonPart;
559 case CSSValueSquareButton:
560 return SquareButtonPart;
561 case CSSValueButton:
562 return ButtonPart;
563 case CSSValueButtonBevel:
564 return ButtonBevelPart;
565 case CSSValueInnerSpinButton:
566 return InnerSpinButtonPart;
567 case CSSValueListbox:
568 return ListboxPart;
569 case CSSValueListitem:
570 return ListItemPart;
571 case CSSValueMediaEnterFullscreenButton:
572 return MediaEnterFullscreenButtonPart;
573 case CSSValueMediaExitFullscreenButton:
574 return MediaExitFullscreenButtonPart;
575 case CSSValueMediaFullscreenVolumeSlider:
576 return MediaFullscreenVolumeSliderPart;
577 case CSSValueMediaFullscreenVolumeSliderThumb:
578 return MediaFullscreenVolumeSliderThumbPart;
579 case CSSValueMediaMuteButton:
580 return MediaMuteButtonPart;
581 case CSSValueMediaPlayButton:
582 return MediaPlayButtonPart;
583 case CSSValueMediaOverlayPlayButton:
584 return MediaOverlayPlayButtonPart;
585 case CSSValueMediaToggleClosedCaptionsButton:
586 return MediaToggleClosedCaptionsButtonPart;
587 case CSSValueMediaSlider:
588 return MediaSliderPart;
589 case CSSValueMediaSliderthumb:
590 return MediaSliderThumbPart;
591 case CSSValueMediaVolumeSliderContainer:
592 return MediaVolumeSliderContainerPart;
593 case CSSValueMediaVolumeSlider:
594 return MediaVolumeSliderPart;
595 case CSSValueMediaVolumeSliderthumb:
596 return MediaVolumeSliderThumbPart;
597 case CSSValueMediaControlsBackground:
598 return MediaControlsBackgroundPart;
599 case CSSValueMediaControlsFullscreenBackground:
600 return MediaControlsFullscreenBackgroundPart;
601 case CSSValueMediaCurrentTimeDisplay:
602 return MediaCurrentTimePart;
603 case CSSValueMediaTimeRemainingDisplay:
604 return MediaTimeRemainingPart;
605 case CSSValueInternalMediaCastOffButton:
606 return MediaCastOffButtonPart;
607 case CSSValueInternalMediaOverlayCastOffButton:
608 return MediaOverlayCastOffButtonPart;
609 case CSSValueInternalMediaTrackSelectionCheckmark:
610 return MediaTrackSelectionCheckmarkPart;
611 case CSSValueInternalMediaClosedCaptionsIcon:
612 return MediaClosedCaptionsIconPart;
613 case CSSValueInternalMediaSubtitlesIcon:
614 return MediaSubtitlesIconPart;
615 case CSSValueInternalMediaOverflowButton:
616 return MediaOverflowMenuButtonPart;
617 case CSSValueInternalMediaDownloadButton:
618 return MediaDownloadIconPart;
619 case CSSValueMenulist:
620 return MenulistPart;
621 case CSSValueMenulistButton:
622 return MenulistButtonPart;
623 case CSSValueMenulistText:
624 return MenulistTextPart;
625 case CSSValueMenulistTextfield:
626 return MenulistTextFieldPart;
627 case CSSValueMeter:
628 return MeterPart;
629 case CSSValueProgressBar:
630 return ProgressBarPart;
631 case CSSValueProgressBarValue:
632 return ProgressBarValuePart;
633 case CSSValueSliderHorizontal:
634 return SliderHorizontalPart;
635 case CSSValueSliderVertical:
636 return SliderVerticalPart;
637 case CSSValueSliderthumbHorizontal:
638 return SliderThumbHorizontalPart;
639 case CSSValueSliderthumbVertical:
640 return SliderThumbVerticalPart;
641 case CSSValueCaret:
642 return CaretPart;
643 case CSSValueSearchfield:
644 return SearchFieldPart;
645 case CSSValueSearchfieldCancelButton:
646 return SearchFieldCancelButtonPart;
647 case CSSValueTextfield:
648 return TextFieldPart;
649 case CSSValueTextarea:
650 return TextAreaPart;
651 case CSSValueCapsLockIndicator:
652 return CapsLockIndicatorPart;
653 default:
654 break;
655 }
656
657 NOTREACHED();
658 return NoControlPart;
522 } 659 }
523 660
524 template <> 661 template <>
525 inline CSSIdentifierValue::CSSIdentifierValue(EBackfaceVisibility e) 662 inline CSSIdentifierValue::CSSIdentifierValue(EBackfaceVisibility e)
526 : CSSValue(IdentifierClass) { 663 : CSSValue(IdentifierClass) {
527 switch (e) { 664 switch (e) {
528 case BackfaceVisibilityVisible: 665 case BackfaceVisibilityVisible:
529 m_valueID = CSSValueVisible; 666 m_valueID = CSSValueVisible;
530 break; 667 break;
531 case BackfaceVisibilityHidden: 668 case BackfaceVisibilityHidden:
(...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after
1109 break; 1246 break;
1110 case CURSOR_WEBKIT_GRABBING: 1247 case CURSOR_WEBKIT_GRABBING:
1111 m_valueID = CSSValueWebkitGrabbing; 1248 m_valueID = CSSValueWebkitGrabbing;
1112 break; 1249 break;
1113 } 1250 }
1114 } 1251 }
1115 1252
1116 template <> 1253 template <>
1117 inline ECursor CSSIdentifierValue::convertTo() const { 1254 inline ECursor CSSIdentifierValue::convertTo() const {
1118 switch (m_valueID) { 1255 switch (m_valueID) {
1256 case CSSValueAuto:
1257 return CURSOR_AUTO;
1258 case CSSValueCrosshair:
1259 return CURSOR_CROSS;
1260 case CSSValueDefault:
1261 return CURSOR_DEFAULT;
1262 case CSSValuePointer:
1263 return CURSOR_POINTER;
1264 case CSSValueMove:
1265 return CURSOR_MOVE;
1266 case CSSValueVerticalText:
1267 return CURSOR_VERTICAL_TEXT;
1268 case CSSValueCell:
1269 return CURSOR_CELL;
1270 case CSSValueContextMenu:
1271 return CURSOR_CONTEXT_MENU;
1272 case CSSValueAlias:
1273 return CURSOR_ALIAS;
1274 case CSSValueProgress:
1275 return CURSOR_PROGRESS;
1276 case CSSValueNoDrop:
1277 return CURSOR_NO_DROP;
1278 case CSSValueNotAllowed:
1279 return CURSOR_NOT_ALLOWED;
1280 case CSSValueZoomIn:
1281 case CSSValueWebkitZoomIn:
1282 return CURSOR_ZOOM_IN;
1283 case CSSValueZoomOut:
1284 case CSSValueWebkitZoomOut:
1285 return CURSOR_ZOOM_OUT;
1286 case CSSValueEResize:
1287 return CURSOR_E_RESIZE;
1288 case CSSValueNeResize:
1289 return CURSOR_NE_RESIZE;
1290 case CSSValueNwResize:
1291 return CURSOR_NW_RESIZE;
1292 case CSSValueNResize:
1293 return CURSOR_N_RESIZE;
1294 case CSSValueSeResize:
1295 return CURSOR_SE_RESIZE;
1296 case CSSValueSwResize:
1297 return CURSOR_SW_RESIZE;
1298 case CSSValueSResize:
1299 return CURSOR_S_RESIZE;
1300 case CSSValueWResize:
1301 return CURSOR_W_RESIZE;
1302 case CSSValueEwResize:
1303 return CURSOR_EW_RESIZE;
1304 case CSSValueNsResize:
1305 return CURSOR_NS_RESIZE;
1306 case CSSValueNeswResize:
1307 return CURSOR_NESW_RESIZE;
1308 case CSSValueNwseResize:
1309 return CURSOR_NWSE_RESIZE;
1310 case CSSValueColResize:
1311 return CURSOR_COL_RESIZE;
1312 case CSSValueRowResize:
1313 return CURSOR_ROW_RESIZE;
1314 case CSSValueText:
1315 return CURSOR_TEXT;
1316 case CSSValueWait:
1317 return CURSOR_WAIT;
1318 case CSSValueHelp:
1319 return CURSOR_HELP;
1320 case CSSValueAllScroll:
1321 return CURSOR_ALL_SCROLL;
1322 case CSSValueWebkitGrab:
1323 return CURSOR_WEBKIT_GRAB;
1324 case CSSValueWebkitGrabbing:
1325 return CURSOR_WEBKIT_GRABBING;
1119 case CSSValueCopy: 1326 case CSSValueCopy:
1120 return CURSOR_COPY; 1327 return CURSOR_COPY;
1121 case CSSValueWebkitZoomIn:
1122 return CURSOR_ZOOM_IN;
1123 case CSSValueWebkitZoomOut:
1124 return CURSOR_ZOOM_OUT;
1125 case CSSValueNone: 1328 case CSSValueNone:
1126 return CURSOR_NONE; 1329 return CURSOR_NONE;
1127 default: 1330 default:
1128 return static_cast<ECursor>(m_valueID - CSSValueAuto); 1331 break;
1129 } 1332 }
1333
1334 NOTREACHED();
1335 return CURSOR_AUTO;
1130 } 1336 }
1131 1337
1132 template <> 1338 template <>
1133 inline CSSIdentifierValue::CSSIdentifierValue(EDisplay e) 1339 inline CSSIdentifierValue::CSSIdentifierValue(EDisplay e)
1134 : CSSValue(IdentifierClass) { 1340 : CSSValue(IdentifierClass) {
1135 switch (e) { 1341 switch (e) {
1136 case EDisplay::Inline: 1342 case EDisplay::Inline:
1137 m_valueID = CSSValueInline; 1343 m_valueID = CSSValueInline;
1138 break; 1344 break;
1139 case EDisplay::Block: 1345 case EDisplay::Block:
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
1197 m_valueID = CSSValueContents; 1403 m_valueID = CSSValueContents;
1198 break; 1404 break;
1199 case EDisplay::None: 1405 case EDisplay::None:
1200 m_valueID = CSSValueNone; 1406 m_valueID = CSSValueNone;
1201 break; 1407 break;
1202 } 1408 }
1203 } 1409 }
1204 1410
1205 template <> 1411 template <>
1206 inline EDisplay CSSIdentifierValue::convertTo() const { 1412 inline EDisplay CSSIdentifierValue::convertTo() const {
1207 if (m_valueID == CSSValueNone) 1413 switch (m_valueID) {
1208 return EDisplay::None; 1414 case CSSValueInline:
1415 return EDisplay::Inline;
1416 case CSSValueBlock:
1417 return EDisplay::Block;
1418 case CSSValueListItem:
1419 return EDisplay::ListItem;
1420 case CSSValueInlineBlock:
1421 return EDisplay::InlineBlock;
1422 case CSSValueTable:
1423 return EDisplay::Table;
1424 case CSSValueInlineTable:
1425 return EDisplay::InlineTable;
1426 case CSSValueTableRowGroup:
1427 return EDisplay::TableRowGroup;
1428 case CSSValueTableHeaderGroup:
1429 return EDisplay::TableHeaderGroup;
1430 case CSSValueTableFooterGroup:
1431 return EDisplay::TableFooterGroup;
1432 case CSSValueTableRow:
1433 return EDisplay::TableRow;
1434 case CSSValueTableColumnGroup:
1435 return EDisplay::TableColumnGroup;
1436 case CSSValueTableColumn:
1437 return EDisplay::TableColumn;
1438 case CSSValueTableCell:
1439 return EDisplay::TableCell;
1440 case CSSValueTableCaption:
1441 return EDisplay::TableCaption;
1442 case CSSValueWebkitBox:
1443 return EDisplay::Box;
1444 case CSSValueWebkitInlineBox:
1445 return EDisplay::InlineBox;
1446 case CSSValueFlex:
1447 case CSSValueWebkitFlex:
1448 return EDisplay::Flex;
1449 case CSSValueInlineFlex:
1450 case CSSValueWebkitInlineFlex:
1451 return EDisplay::InlineFlex;
1452 case CSSValueGrid:
1453 return EDisplay::Grid;
1454 case CSSValueInlineGrid:
1455 return EDisplay::InlineGrid;
1456 case CSSValueNone:
1457 return EDisplay::None;
1458 default:
1459 break;
1460 }
1209 1461
1210 if (m_valueID == CSSValueWebkitFlex) 1462 NOTREACHED();
1211 return EDisplay::Flex; 1463 return EDisplay::Inline;
1212 if (m_valueID == CSSValueWebkitInlineFlex)
1213 return EDisplay::InlineFlex;
1214
1215 EDisplay display = static_cast<EDisplay>(m_valueID - CSSValueInline);
1216 // TODO(sashab): Check display is a valid EDisplay here.
1217 return display;
1218 } 1464 }
1219 1465
1220 template <> 1466 template <>
1221 inline CSSIdentifierValue::CSSIdentifierValue(EEmptyCells e) 1467 inline CSSIdentifierValue::CSSIdentifierValue(EEmptyCells e)
1222 : CSSValue(IdentifierClass) { 1468 : CSSValue(IdentifierClass) {
1223 switch (e) { 1469 switch (e) {
1224 case EEmptyCells::Show: 1470 case EEmptyCells::Show:
1225 m_valueID = CSSValueShow; 1471 m_valueID = CSSValueShow;
1226 break; 1472 break;
1227 case EEmptyCells::Hide: 1473 case EEmptyCells::Hide:
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
1447 return EListStylePosition::Inside; 1693 return EListStylePosition::Inside;
1448 default: 1694 default:
1449 break; 1695 break;
1450 } 1696 }
1451 1697
1452 ASSERT_NOT_REACHED(); 1698 ASSERT_NOT_REACHED();
1453 return EListStylePosition::Outside; 1699 return EListStylePosition::Outside;
1454 } 1700 }
1455 1701
1456 template <> 1702 template <>
1457 inline CSSIdentifierValue::CSSIdentifierValue(EListStyleType e) 1703 inline CSSValueID platformEnumToCSSValueID(EListStyleType e) {
1458 : CSSValue(IdentifierClass) {
1459 switch (e) { 1704 switch (e) {
1460 case ArabicIndic: 1705 case ArabicIndic:
1461 m_valueID = CSSValueArabicIndic; 1706 return CSSValueArabicIndic;
1462 break;
1463 case Armenian: 1707 case Armenian:
1464 m_valueID = CSSValueArmenian; 1708 return CSSValueArmenian;
1465 break;
1466 case Bengali: 1709 case Bengali:
1467 m_valueID = CSSValueBengali; 1710 return CSSValueBengali;
1468 break;
1469 case Cambodian: 1711 case Cambodian:
1470 m_valueID = CSSValueCambodian; 1712 return CSSValueCambodian;
1471 break;
1472 case Circle: 1713 case Circle:
1473 m_valueID = CSSValueCircle; 1714 return CSSValueCircle;
1474 break;
1475 case CjkEarthlyBranch: 1715 case CjkEarthlyBranch:
1476 m_valueID = CSSValueCjkEarthlyBranch; 1716 return CSSValueCjkEarthlyBranch;
1477 break;
1478 case CjkHeavenlyStem: 1717 case CjkHeavenlyStem:
1479 m_valueID = CSSValueCjkHeavenlyStem; 1718 return CSSValueCjkHeavenlyStem;
1480 break;
1481 case CJKIdeographic: 1719 case CJKIdeographic:
1482 m_valueID = CSSValueCjkIdeographic; 1720 return CSSValueCjkIdeographic;
1483 break;
1484 case DecimalLeadingZero: 1721 case DecimalLeadingZero:
1485 m_valueID = CSSValueDecimalLeadingZero; 1722 return CSSValueDecimalLeadingZero;
1486 break;
1487 case DecimalListStyle: 1723 case DecimalListStyle:
1488 m_valueID = CSSValueDecimal; 1724 return CSSValueDecimal;
1489 break;
1490 case Devanagari: 1725 case Devanagari:
1491 m_valueID = CSSValueDevanagari; 1726 return CSSValueDevanagari;
1492 break;
1493 case Disc: 1727 case Disc:
1494 m_valueID = CSSValueDisc; 1728 return CSSValueDisc;
1495 break;
1496 case EthiopicHalehame: 1729 case EthiopicHalehame:
1497 m_valueID = CSSValueEthiopicHalehame; 1730 return CSSValueEthiopicHalehame;
1498 break;
1499 case EthiopicHalehameAm: 1731 case EthiopicHalehameAm:
1500 m_valueID = CSSValueEthiopicHalehameAm; 1732 return CSSValueEthiopicHalehameAm;
1501 break;
1502 case EthiopicHalehameTiEt: 1733 case EthiopicHalehameTiEt:
1503 m_valueID = CSSValueEthiopicHalehameTiEt; 1734 return CSSValueEthiopicHalehameTiEt;
1504 break;
1505 case EthiopicHalehameTiEr: 1735 case EthiopicHalehameTiEr:
1506 m_valueID = CSSValueEthiopicHalehameTiEr; 1736 return CSSValueEthiopicHalehameTiEr;
1507 break;
1508 case Georgian: 1737 case Georgian:
1509 m_valueID = CSSValueGeorgian; 1738 return CSSValueGeorgian;
1510 break;
1511 case Gujarati: 1739 case Gujarati:
1512 m_valueID = CSSValueGujarati; 1740 return CSSValueGujarati;
1513 break;
1514 case Gurmukhi: 1741 case Gurmukhi:
1515 m_valueID = CSSValueGurmukhi; 1742 return CSSValueGurmukhi;
1516 break;
1517 case Hangul: 1743 case Hangul:
1518 m_valueID = CSSValueHangul; 1744 return CSSValueHangul;
1519 break;
1520 case HangulConsonant: 1745 case HangulConsonant:
1521 m_valueID = CSSValueHangulConsonant; 1746 return CSSValueHangulConsonant;
1522 break;
1523 case KoreanHangulFormal: 1747 case KoreanHangulFormal:
1524 m_valueID = CSSValueKoreanHangulFormal; 1748 return CSSValueKoreanHangulFormal;
1525 break;
1526 case KoreanHanjaFormal: 1749 case KoreanHanjaFormal:
1527 m_valueID = CSSValueKoreanHanjaFormal; 1750 return CSSValueKoreanHanjaFormal;
1528 break;
1529 case KoreanHanjaInformal: 1751 case KoreanHanjaInformal:
1530 m_valueID = CSSValueKoreanHanjaInformal; 1752 return CSSValueKoreanHanjaInformal;
1531 break;
1532 case Hebrew: 1753 case Hebrew:
1533 m_valueID = CSSValueHebrew; 1754 return CSSValueHebrew;
1534 break;
1535 case Hiragana: 1755 case Hiragana:
1536 m_valueID = CSSValueHiragana; 1756 return CSSValueHiragana;
1537 break;
1538 case HiraganaIroha: 1757 case HiraganaIroha:
1539 m_valueID = CSSValueHiraganaIroha; 1758 return CSSValueHiraganaIroha;
1540 break;
1541 case Kannada: 1759 case Kannada:
1542 m_valueID = CSSValueKannada; 1760 return CSSValueKannada;
1543 break;
1544 case Katakana: 1761 case Katakana:
1545 m_valueID = CSSValueKatakana; 1762 return CSSValueKatakana;
1546 break;
1547 case KatakanaIroha: 1763 case KatakanaIroha:
1548 m_valueID = CSSValueKatakanaIroha; 1764 return CSSValueKatakanaIroha;
1549 break;
1550 case Khmer: 1765 case Khmer:
1551 m_valueID = CSSValueKhmer; 1766 return CSSValueKhmer;
1552 break;
1553 case Lao: 1767 case Lao:
1554 m_valueID = CSSValueLao; 1768 return CSSValueLao;
1555 break;
1556 case LowerAlpha: 1769 case LowerAlpha:
1557 m_valueID = CSSValueLowerAlpha; 1770 return CSSValueLowerAlpha;
1558 break;
1559 case LowerArmenian: 1771 case LowerArmenian:
1560 m_valueID = CSSValueLowerArmenian; 1772 return CSSValueLowerArmenian;
1561 break;
1562 case LowerGreek: 1773 case LowerGreek:
1563 m_valueID = CSSValueLowerGreek; 1774 return CSSValueLowerGreek;
1564 break;
1565 case LowerLatin: 1775 case LowerLatin:
1566 m_valueID = CSSValueLowerLatin; 1776 return CSSValueLowerLatin;
1567 break;
1568 case LowerRoman: 1777 case LowerRoman:
1569 m_valueID = CSSValueLowerRoman; 1778 return CSSValueLowerRoman;
1570 break;
1571 case Malayalam: 1779 case Malayalam:
1572 m_valueID = CSSValueMalayalam; 1780 return CSSValueMalayalam;
1573 break;
1574 case Mongolian: 1781 case Mongolian:
1575 m_valueID = CSSValueMongolian; 1782 return CSSValueMongolian;
1576 break;
1577 case Myanmar: 1783 case Myanmar:
1578 m_valueID = CSSValueMyanmar; 1784 return CSSValueMyanmar;
1579 break;
1580 case NoneListStyle: 1785 case NoneListStyle:
1581 m_valueID = CSSValueNone; 1786 return CSSValueNone;
1582 break;
1583 case Oriya: 1787 case Oriya:
1584 m_valueID = CSSValueOriya; 1788 return CSSValueOriya;
1585 break;
1586 case Persian: 1789 case Persian:
1587 m_valueID = CSSValuePersian; 1790 return CSSValuePersian;
1588 break;
1589 case SimpChineseFormal: 1791 case SimpChineseFormal:
1590 m_valueID = CSSValueSimpChineseFormal; 1792 return CSSValueSimpChineseFormal;
1591 break;
1592 case SimpChineseInformal: 1793 case SimpChineseInformal:
1593 m_valueID = CSSValueSimpChineseInformal; 1794 return CSSValueSimpChineseInformal;
1594 break;
1595 case Square: 1795 case Square:
1596 m_valueID = CSSValueSquare; 1796 return CSSValueSquare;
1597 break;
1598 case Telugu: 1797 case Telugu:
1599 m_valueID = CSSValueTelugu; 1798 return CSSValueTelugu;
1600 break;
1601 case Thai: 1799 case Thai:
1602 m_valueID = CSSValueThai; 1800 return CSSValueThai;
1603 break;
1604 case Tibetan: 1801 case Tibetan:
1605 m_valueID = CSSValueTibetan; 1802 return CSSValueTibetan;
1606 break;
1607 case TradChineseFormal: 1803 case TradChineseFormal:
1608 m_valueID = CSSValueTradChineseFormal; 1804 return CSSValueTradChineseFormal;
1609 break;
1610 case TradChineseInformal: 1805 case TradChineseInformal:
1611 m_valueID = CSSValueTradChineseInformal; 1806 return CSSValueTradChineseInformal;
1612 break;
1613 case UpperAlpha: 1807 case UpperAlpha:
1614 m_valueID = CSSValueUpperAlpha; 1808 return CSSValueUpperAlpha;
1615 break;
1616 case UpperArmenian: 1809 case UpperArmenian:
1617 m_valueID = CSSValueUpperArmenian; 1810 return CSSValueUpperArmenian;
1618 break;
1619 case UpperLatin: 1811 case UpperLatin:
1620 m_valueID = CSSValueUpperLatin; 1812 return CSSValueUpperLatin;
1621 break;
1622 case UpperRoman: 1813 case UpperRoman:
1623 m_valueID = CSSValueUpperRoman; 1814 return CSSValueUpperRoman;
1624 break;
1625 case Urdu: 1815 case Urdu:
1626 m_valueID = CSSValueUrdu; 1816 return CSSValueUrdu;
1627 break;
1628 } 1817 }
1629 } 1818 NOTREACHED();
1630 1819 return CSSValueNone;
1631 template <> 1820 }
1632 inline EListStyleType CSSIdentifierValue::convertTo() const { 1821
1633 switch (m_valueID) { 1822 template <>
1823 inline EListStyleType CSSValueIDToPlatformEnum(CSSValueID id) {
1824 switch (id) {
1825 case CSSValueDisc:
1826 return Disc;
1827 case CSSValueCircle:
1828 return Circle;
1829 case CSSValueSquare:
1830 return Square;
1831 case CSSValueDecimal:
1832 return DecimalListStyle;
1833 case CSSValueDecimalLeadingZero:
1834 return DecimalLeadingZero;
1835 case CSSValueArabicIndic:
1836 return ArabicIndic;
1837 case CSSValueBengali:
1838 return Bengali;
1839 case CSSValueCambodian:
1840 return Cambodian;
1841 case CSSValueKhmer:
1842 return Khmer;
1843 case CSSValueDevanagari:
1844 return Devanagari;
1845 case CSSValueGujarati:
1846 return Gujarati;
1847 case CSSValueGurmukhi:
1848 return Gurmukhi;
1849 case CSSValueKannada:
1850 return Kannada;
1851 case CSSValueLao:
1852 return Lao;
1853 case CSSValueMalayalam:
1854 return Malayalam;
1855 case CSSValueMongolian:
1856 return Mongolian;
1857 case CSSValueMyanmar:
1858 return Myanmar;
1859 case CSSValueOriya:
1860 return Oriya;
1861 case CSSValuePersian:
1862 return Persian;
1863 case CSSValueUrdu:
1864 return Urdu;
1865 case CSSValueTelugu:
1866 return Telugu;
1867 case CSSValueTibetan:
1868 return Tibetan;
1869 case CSSValueThai:
1870 return Thai;
1871 case CSSValueLowerRoman:
1872 return LowerRoman;
1873 case CSSValueUpperRoman:
1874 return UpperRoman;
1875 case CSSValueLowerGreek:
1876 return LowerGreek;
1877 case CSSValueLowerAlpha:
1878 return LowerAlpha;
1879 case CSSValueLowerLatin:
1880 return LowerLatin;
1881 case CSSValueUpperAlpha:
1882 return UpperAlpha;
1883 case CSSValueUpperLatin:
1884 return UpperLatin;
1885 case CSSValueCjkEarthlyBranch:
1886 return CjkEarthlyBranch;
1887 case CSSValueCjkHeavenlyStem:
1888 return CjkHeavenlyStem;
1889 case CSSValueEthiopicHalehame:
1890 return EthiopicHalehame;
1891 case CSSValueEthiopicHalehameAm:
1892 return EthiopicHalehameAm;
1893 case CSSValueEthiopicHalehameTiEr:
1894 return EthiopicHalehameTiEr;
1895 case CSSValueEthiopicHalehameTiEt:
1896 return EthiopicHalehameTiEt;
1897 case CSSValueHangul:
1898 return Hangul;
1899 case CSSValueHangulConsonant:
1900 return HangulConsonant;
1901 case CSSValueKoreanHangulFormal:
1902 return KoreanHangulFormal;
1903 case CSSValueKoreanHanjaFormal:
1904 return KoreanHanjaFormal;
1905 case CSSValueKoreanHanjaInformal:
1906 return KoreanHanjaInformal;
1907 case CSSValueHebrew:
1908 return Hebrew;
1909 case CSSValueArmenian:
1910 return Armenian;
1911 case CSSValueLowerArmenian:
1912 return LowerArmenian;
1913 case CSSValueUpperArmenian:
1914 return UpperArmenian;
1915 case CSSValueGeorgian:
1916 return Georgian;
1917 case CSSValueCjkIdeographic:
1918 return CJKIdeographic;
1919 case CSSValueSimpChineseFormal:
1920 return SimpChineseFormal;
1921 case CSSValueSimpChineseInformal:
1922 return SimpChineseInformal;
1923 case CSSValueTradChineseFormal:
1924 return TradChineseFormal;
1925 case CSSValueTradChineseInformal:
1926 return TradChineseInformal;
1927 case CSSValueHiragana:
1928 return Hiragana;
1929 case CSSValueKatakana:
1930 return Katakana;
1931 case CSSValueHiraganaIroha:
1932 return HiraganaIroha;
1933 case CSSValueKatakanaIroha:
1934 return KatakanaIroha;
1634 case CSSValueNone: 1935 case CSSValueNone:
1635 return NoneListStyle; 1936 return NoneListStyle;
1636 default: 1937 default:
1637 return static_cast<EListStyleType>(m_valueID - CSSValueDisc); 1938 break;
1638 } 1939 }
1639 } 1940
1640 1941 NOTREACHED();
1641 template <> 1942 return NoneListStyle;
1943 }
1944
1945 template <>
1946 inline CSSIdentifierValue::CSSIdentifierValue(EListStyleType e)
1947 : CSSValue(IdentifierClass) {
1948 m_valueID = platformEnumToCSSValueID(e);
1949 }
1950
1951 template <>
1952 inline EListStyleType CSSIdentifierValue::convertTo() const {
1953 return CSSValueIDToPlatformEnum<EListStyleType>(m_valueID);
1954 }
1955
1956 template <>
1642 inline CSSIdentifierValue::CSSIdentifierValue(EMarginCollapse e) 1957 inline CSSIdentifierValue::CSSIdentifierValue(EMarginCollapse e)
1643 : CSSValue(IdentifierClass) { 1958 : CSSValue(IdentifierClass) {
1644 switch (e) { 1959 switch (e) {
1645 case MarginCollapseCollapse: 1960 case MarginCollapseCollapse:
1646 m_valueID = CSSValueCollapse; 1961 m_valueID = CSSValueCollapse;
1647 break; 1962 break;
1648 case MarginCollapseSeparate: 1963 case MarginCollapseSeparate:
1649 m_valueID = CSSValueSeparate; 1964 m_valueID = CSSValueSeparate;
1650 break; 1965 break;
1651 case MarginCollapseDiscard: 1966 case MarginCollapseDiscard:
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
1939 break; 2254 break;
1940 case WEBKIT_CENTER: 2255 case WEBKIT_CENTER:
1941 m_valueID = CSSValueWebkitCenter; 2256 m_valueID = CSSValueWebkitCenter;
1942 break; 2257 break;
1943 } 2258 }
1944 } 2259 }
1945 2260
1946 template <> 2261 template <>
1947 inline ETextAlign CSSIdentifierValue::convertTo() const { 2262 inline ETextAlign CSSIdentifierValue::convertTo() const {
1948 switch (m_valueID) { 2263 switch (m_valueID) {
2264 case CSSValueLeft:
2265 return LEFT;
2266 case CSSValueRight:
2267 return RIGHT;
2268 case CSSValueCenter:
2269 case CSSValueInternalCenter:
2270 return CENTER;
2271 case CSSValueJustify:
2272 return JUSTIFY;
2273 case CSSValueWebkitLeft:
2274 return WEBKIT_LEFT;
2275 case CSSValueWebkitRight:
2276 return WEBKIT_RIGHT;
2277 case CSSValueWebkitCenter:
2278 return WEBKIT_CENTER;
1949 case CSSValueWebkitAuto: // Legacy -webkit-auto. Eqiuvalent to start. 2279 case CSSValueWebkitAuto: // Legacy -webkit-auto. Eqiuvalent to start.
1950 case CSSValueStart: 2280 case CSSValueStart:
1951 return TASTART; 2281 return TASTART;
1952 case CSSValueEnd: 2282 case CSSValueEnd:
1953 return TAEND; 2283 return TAEND;
1954 case CSSValueInternalCenter:
1955 return CENTER;
1956 default: 2284 default:
1957 return static_cast<ETextAlign>(m_valueID - CSSValueLeft); 2285 break;
1958 } 2286 }
2287
2288 NOTREACHED();
2289 return LEFT;
1959 } 2290 }
1960 2291
1961 template <> 2292 template <>
1962 inline CSSIdentifierValue::CSSIdentifierValue(TextAlignLast e) 2293 inline CSSIdentifierValue::CSSIdentifierValue(TextAlignLast e)
1963 : CSSValue(IdentifierClass) { 2294 : CSSValue(IdentifierClass) {
1964 switch (e) { 2295 switch (e) {
1965 case TextAlignLastStart: 2296 case TextAlignLastStart:
1966 m_valueID = CSSValueStart; 2297 m_valueID = CSSValueStart;
1967 break; 2298 break;
1968 case TextAlignLastEnd: 2299 case TextAlignLastEnd:
(...skipping 2581 matching lines...) Expand 10 before | Expand all | Expand 10 after
4550 default: 4881 default:
4551 break; 4882 break;
4552 } 4883 }
4553 ASSERT_NOT_REACHED(); 4884 ASSERT_NOT_REACHED();
4554 return ContainsNone; 4885 return ContainsNone;
4555 } 4886 }
4556 4887
4557 } // namespace blink 4888 } // namespace blink
4558 4889
4559 #endif 4890 #endif
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/css/CSSValueKeywords.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698