OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |