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

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

Issue 1421533006: Make SVGLength wrap a CSSPrimitiveValue. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added expectation Created 5 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 /* 1 /*
2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2012 Apple Inc. All rights reserv ed. 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2012 Apple Inc. All rights reserv ed.
4 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public 6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version. 8 * version 2 of the License, or (at your option) any later version.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 { 53 {
54 StringToUnitTable table; 54 StringToUnitTable table;
55 table.set(String("em"), CSSPrimitiveValue::UnitType::Ems); 55 table.set(String("em"), CSSPrimitiveValue::UnitType::Ems);
56 table.set(String("ex"), CSSPrimitiveValue::UnitType::Exs); 56 table.set(String("ex"), CSSPrimitiveValue::UnitType::Exs);
57 table.set(String("px"), CSSPrimitiveValue::UnitType::Pixels); 57 table.set(String("px"), CSSPrimitiveValue::UnitType::Pixels);
58 table.set(String("cm"), CSSPrimitiveValue::UnitType::Centimeters); 58 table.set(String("cm"), CSSPrimitiveValue::UnitType::Centimeters);
59 table.set(String("mm"), CSSPrimitiveValue::UnitType::Millimeters); 59 table.set(String("mm"), CSSPrimitiveValue::UnitType::Millimeters);
60 table.set(String("in"), CSSPrimitiveValue::UnitType::Inches); 60 table.set(String("in"), CSSPrimitiveValue::UnitType::Inches);
61 table.set(String("pt"), CSSPrimitiveValue::UnitType::Points); 61 table.set(String("pt"), CSSPrimitiveValue::UnitType::Points);
62 table.set(String("pc"), CSSPrimitiveValue::UnitType::Picas); 62 table.set(String("pc"), CSSPrimitiveValue::UnitType::Picas);
63 table.set(String(""), CSSPrimitiveValue::UnitType::UserUnits);
63 table.set(String("deg"), CSSPrimitiveValue::UnitType::Degrees); 64 table.set(String("deg"), CSSPrimitiveValue::UnitType::Degrees);
64 table.set(String("rad"), CSSPrimitiveValue::UnitType::Radians); 65 table.set(String("rad"), CSSPrimitiveValue::UnitType::Radians);
65 table.set(String("grad"), CSSPrimitiveValue::UnitType::Gradians); 66 table.set(String("grad"), CSSPrimitiveValue::UnitType::Gradians);
66 table.set(String("ms"), CSSPrimitiveValue::UnitType::Milliseconds); 67 table.set(String("ms"), CSSPrimitiveValue::UnitType::Milliseconds);
67 table.set(String("s"), CSSPrimitiveValue::UnitType::Seconds); 68 table.set(String("s"), CSSPrimitiveValue::UnitType::Seconds);
68 table.set(String("hz"), CSSPrimitiveValue::UnitType::Hertz); 69 table.set(String("hz"), CSSPrimitiveValue::UnitType::Hertz);
69 table.set(String("khz"), CSSPrimitiveValue::UnitType::Kilohertz); 70 table.set(String("khz"), CSSPrimitiveValue::UnitType::Kilohertz);
70 table.set(String("dpi"), CSSPrimitiveValue::UnitType::DotsPerInch); 71 table.set(String("dpi"), CSSPrimitiveValue::UnitType::DotsPerInch);
71 table.set(String("dpcm"), CSSPrimitiveValue::UnitType::DotsPerCentimeter); 72 table.set(String("dpcm"), CSSPrimitiveValue::UnitType::DotsPerCentimeter);
72 table.set(String("dppx"), CSSPrimitiveValue::UnitType::DotsPerPixel); 73 table.set(String("dppx"), CSSPrimitiveValue::UnitType::DotsPerPixel);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 case UnitType::Number: 114 case UnitType::Number:
114 return CSSPrimitiveValue::UNumber; 115 return CSSPrimitiveValue::UNumber;
115 case UnitType::Percentage: 116 case UnitType::Percentage:
116 return CSSPrimitiveValue::UPercent; 117 return CSSPrimitiveValue::UPercent;
117 case UnitType::Pixels: 118 case UnitType::Pixels:
118 case UnitType::Centimeters: 119 case UnitType::Centimeters:
119 case UnitType::Millimeters: 120 case UnitType::Millimeters:
120 case UnitType::Inches: 121 case UnitType::Inches:
121 case UnitType::Points: 122 case UnitType::Points:
122 case UnitType::Picas: 123 case UnitType::Picas:
124 case UnitType::UserUnits:
123 return CSSPrimitiveValue::ULength; 125 return CSSPrimitiveValue::ULength;
124 case UnitType::Milliseconds: 126 case UnitType::Milliseconds:
125 case UnitType::Seconds: 127 case UnitType::Seconds:
126 return CSSPrimitiveValue::UTime; 128 return CSSPrimitiveValue::UTime;
127 case UnitType::Degrees: 129 case UnitType::Degrees:
128 case UnitType::Radians: 130 case UnitType::Radians:
129 case UnitType::Gradians: 131 case UnitType::Gradians:
130 case UnitType::Turns: 132 case UnitType::Turns:
131 return CSSPrimitiveValue::UAngle; 133 return CSSPrimitiveValue::UAngle;
132 case UnitType::Hertz: 134 case UnitType::Hertz:
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 case UnitType::QuirkyEms: 323 case UnitType::QuirkyEms:
322 case UnitType::Exs: 324 case UnitType::Exs:
323 case UnitType::Rems: 325 case UnitType::Rems:
324 case UnitType::Chs: 326 case UnitType::Chs:
325 case UnitType::Pixels: 327 case UnitType::Pixels:
326 case UnitType::Centimeters: 328 case UnitType::Centimeters:
327 case UnitType::Millimeters: 329 case UnitType::Millimeters:
328 case UnitType::Inches: 330 case UnitType::Inches:
329 case UnitType::Points: 331 case UnitType::Points:
330 case UnitType::Picas: 332 case UnitType::Picas:
333 case UnitType::UserUnits:
331 case UnitType::Degrees: 334 case UnitType::Degrees:
332 case UnitType::Radians: 335 case UnitType::Radians:
333 case UnitType::Gradians: 336 case UnitType::Gradians:
334 case UnitType::Milliseconds: 337 case UnitType::Milliseconds:
335 case UnitType::Seconds: 338 case UnitType::Seconds:
336 case UnitType::Hertz: 339 case UnitType::Hertz:
337 case UnitType::Kilohertz: 340 case UnitType::Kilohertz:
338 case UnitType::Turns: 341 case UnitType::Turns:
339 case UnitType::ViewportWidth: 342 case UnitType::ViewportWidth:
340 case UnitType::ViewportHeight: 343 case UnitType::ViewportHeight:
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 return CSSPrimitiveValue::accumulateLengthArray(lengthArray, lengthTypeArray , multiplier); 455 return CSSPrimitiveValue::accumulateLengthArray(lengthArray, lengthTypeArray , multiplier);
453 } 456 }
454 457
455 double CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor(UnitType unitTyp e) 458 double CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor(UnitType unitTyp e)
456 { 459 {
457 double factor = 1.0; 460 double factor = 1.0;
458 // FIXME: the switch can be replaced by an array of scale factors. 461 // FIXME: the switch can be replaced by an array of scale factors.
459 switch (unitType) { 462 switch (unitType) {
460 // These are "canonical" units in their respective categories. 463 // These are "canonical" units in their respective categories.
461 case UnitType::Pixels: 464 case UnitType::Pixels:
465 case UnitType::UserUnits:
462 case UnitType::Degrees: 466 case UnitType::Degrees:
463 case UnitType::Milliseconds: 467 case UnitType::Milliseconds:
464 case UnitType::Hertz: 468 case UnitType::Hertz:
465 break; 469 break;
466 case UnitType::Centimeters: 470 case UnitType::Centimeters:
467 factor = cssPixelsPerCentimeter; 471 factor = cssPixelsPerCentimeter;
468 break; 472 break;
469 case UnitType::DotsPerCentimeter: 473 case UnitType::DotsPerCentimeter:
470 factor = 1 / cssPixelsPerCentimeter; 474 factor = 1 / cssPixelsPerCentimeter;
471 break; 475 break;
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
639 static String formatNumber(double number, const char* characters) 643 static String formatNumber(double number, const char* characters)
640 { 644 {
641 return formatNumber(number, characters, strlen(characters)); 645 return formatNumber(number, characters, strlen(characters));
642 } 646 }
643 647
644 const char* CSSPrimitiveValue::unitTypeToString(UnitType type) 648 const char* CSSPrimitiveValue::unitTypeToString(UnitType type)
645 { 649 {
646 switch (type) { 650 switch (type) {
647 case UnitType::Number: 651 case UnitType::Number:
648 case UnitType::Integer: 652 case UnitType::Integer:
653 case UnitType::UserUnits:
649 return ""; 654 return "";
650 case UnitType::Percentage: 655 case UnitType::Percentage:
651 return "%"; 656 return "%";
652 case UnitType::Ems: 657 case UnitType::Ems:
653 case UnitType::QuirkyEms: 658 case UnitType::QuirkyEms:
654 return "em"; 659 return "em";
655 case UnitType::Exs: 660 case UnitType::Exs:
656 return "ex"; 661 return "ex";
657 case UnitType::Rems: 662 case UnitType::Rems:
658 return "rem"; 663 return "rem";
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
737 case UnitType::Chs: 742 case UnitType::Chs:
738 case UnitType::Pixels: 743 case UnitType::Pixels:
739 case UnitType::Centimeters: 744 case UnitType::Centimeters:
740 case UnitType::DotsPerPixel: 745 case UnitType::DotsPerPixel:
741 case UnitType::DotsPerInch: 746 case UnitType::DotsPerInch:
742 case UnitType::DotsPerCentimeter: 747 case UnitType::DotsPerCentimeter:
743 case UnitType::Millimeters: 748 case UnitType::Millimeters:
744 case UnitType::Inches: 749 case UnitType::Inches:
745 case UnitType::Points: 750 case UnitType::Points:
746 case UnitType::Picas: 751 case UnitType::Picas:
752 case UnitType::UserUnits:
747 case UnitType::Degrees: 753 case UnitType::Degrees:
748 case UnitType::Radians: 754 case UnitType::Radians:
749 case UnitType::Gradians: 755 case UnitType::Gradians:
750 case UnitType::Milliseconds: 756 case UnitType::Milliseconds:
751 case UnitType::Seconds: 757 case UnitType::Seconds:
752 case UnitType::Hertz: 758 case UnitType::Hertz:
753 case UnitType::Kilohertz: 759 case UnitType::Kilohertz:
754 case UnitType::Turns: 760 case UnitType::Turns:
755 case UnitType::Fraction: 761 case UnitType::Fraction:
756 case UnitType::ViewportWidth: 762 case UnitType::ViewportWidth:
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 case UnitType::Rems: 799 case UnitType::Rems:
794 case UnitType::Pixels: 800 case UnitType::Pixels:
795 case UnitType::Centimeters: 801 case UnitType::Centimeters:
796 case UnitType::DotsPerPixel: 802 case UnitType::DotsPerPixel:
797 case UnitType::DotsPerInch: 803 case UnitType::DotsPerInch:
798 case UnitType::DotsPerCentimeter: 804 case UnitType::DotsPerCentimeter:
799 case UnitType::Millimeters: 805 case UnitType::Millimeters:
800 case UnitType::Inches: 806 case UnitType::Inches:
801 case UnitType::Points: 807 case UnitType::Points:
802 case UnitType::Picas: 808 case UnitType::Picas:
809 case UnitType::UserUnits:
803 case UnitType::Degrees: 810 case UnitType::Degrees:
804 case UnitType::Radians: 811 case UnitType::Radians:
805 case UnitType::Gradians: 812 case UnitType::Gradians:
806 case UnitType::Milliseconds: 813 case UnitType::Milliseconds:
807 case UnitType::Seconds: 814 case UnitType::Seconds:
808 case UnitType::Hertz: 815 case UnitType::Hertz:
809 case UnitType::Kilohertz: 816 case UnitType::Kilohertz:
810 case UnitType::Turns: 817 case UnitType::Turns:
811 case UnitType::ViewportWidth: 818 case UnitType::ViewportWidth:
812 case UnitType::ViewportHeight: 819 case UnitType::ViewportHeight:
(...skipping 22 matching lines...) Expand all
835 visitor->trace(m_value.calc); 842 visitor->trace(m_value.calc);
836 break; 843 break;
837 default: 844 default:
838 break; 845 break;
839 } 846 }
840 #endif 847 #endif
841 CSSValue::traceAfterDispatch(visitor); 848 CSSValue::traceAfterDispatch(visitor);
842 } 849 }
843 850
844 } // namespace blink 851 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698