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

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

Issue 1373433002: Split out CSSPrimitiveValue's PropertyID into CSSCustomIdentValue (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@split_string
Patch Set: Rebase Created 5 years, 2 months 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 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 case CalcPercentLength: 183 case CalcPercentLength:
184 return UnitType::CalcPercentageWithLength; 184 return UnitType::CalcPercentageWithLength;
185 case CalcTime: 185 case CalcTime:
186 return UnitType::Milliseconds; 186 return UnitType::Milliseconds;
187 case CalcOther: 187 case CalcOther:
188 return UnitType::Unknown; 188 return UnitType::Unknown;
189 } 189 }
190 return UnitType::Unknown; 190 return UnitType::Unknown;
191 } 191 }
192 192
193 static const AtomicString& propertyName(CSSPropertyID propertyID)
194 {
195 return getPropertyNameAtomicString(propertyID);
196 }
197
198 static const AtomicString& valueName(CSSValueID valueID) 193 static const AtomicString& valueName(CSSValueID valueID)
199 { 194 {
200 ASSERT_ARG(valueID, valueID >= 0); 195 ASSERT_ARG(valueID, valueID >= 0);
201 ASSERT_ARG(valueID, valueID < numCSSValueKeywords); 196 ASSERT_ARG(valueID, valueID < numCSSValueKeywords);
202 197
203 if (valueID < 0) 198 if (valueID < 0)
204 return nullAtom; 199 return nullAtom;
205 200
206 static AtomicString* keywordStrings = new AtomicString[numCSSValueKeywords]; // Leaked intentionally. 201 static AtomicString* keywordStrings = new AtomicString[numCSSValueKeywords]; // Leaked intentionally.
207 AtomicString& keywordString = keywordStrings[valueID]; 202 AtomicString& keywordString = keywordStrings[valueID];
208 if (keywordString.isNull()) 203 if (keywordString.isNull())
209 keywordString = getValueName(valueID); 204 keywordString = getValueName(valueID);
210 return keywordString; 205 return keywordString;
211 } 206 }
212 207
213 CSSPrimitiveValue::CSSPrimitiveValue(CSSValueID valueID) 208 CSSPrimitiveValue::CSSPrimitiveValue(CSSValueID valueID)
214 : CSSValue(PrimitiveClass) 209 : CSSValue(PrimitiveClass)
215 { 210 {
216 init(UnitType::ValueID); 211 init(UnitType::ValueID);
217 m_value.valueID = valueID; 212 m_value.valueID = valueID;
218 } 213 }
219 214
220 CSSPrimitiveValue::CSSPrimitiveValue(CSSPropertyID propertyID)
221 : CSSValue(PrimitiveClass)
222 {
223 init(UnitType::PropertyID);
224 m_value.propertyID = propertyID;
225 }
226
227 CSSPrimitiveValue::CSSPrimitiveValue(double num, UnitType type) 215 CSSPrimitiveValue::CSSPrimitiveValue(double num, UnitType type)
228 : CSSValue(PrimitiveClass) 216 : CSSValue(PrimitiveClass)
229 { 217 {
230 init(type); 218 init(type);
231 ASSERT(std::isfinite(num)); 219 ASSERT(std::isfinite(num));
232 m_value.num = num; 220 m_value.num = num;
233 } 221 }
234 222
235 CSSPrimitiveValue::CSSPrimitiveValue(RGBA32 color) 223 CSSPrimitiveValue::CSSPrimitiveValue(RGBA32 color)
236 : CSSValue(PrimitiveClass) 224 : CSSValue(PrimitiveClass)
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 case UnitType::ViewportWidth: 354 case UnitType::ViewportWidth:
367 case UnitType::ViewportHeight: 355 case UnitType::ViewportHeight:
368 case UnitType::ViewportMin: 356 case UnitType::ViewportMin:
369 case UnitType::ViewportMax: 357 case UnitType::ViewportMax:
370 case UnitType::DotsPerPixel: 358 case UnitType::DotsPerPixel:
371 case UnitType::DotsPerInch: 359 case UnitType::DotsPerInch:
372 case UnitType::DotsPerCentimeter: 360 case UnitType::DotsPerCentimeter:
373 case UnitType::Fraction: 361 case UnitType::Fraction:
374 case UnitType::RGBColor: 362 case UnitType::RGBColor:
375 case UnitType::Unknown: 363 case UnitType::Unknown:
376 case UnitType::PropertyID:
377 case UnitType::ValueID: 364 case UnitType::ValueID:
378 break; 365 break;
379 } 366 }
380 if (m_hasCachedCSSText) { 367 if (m_hasCachedCSSText) {
381 cssTextCache().remove(this); 368 cssTextCache().remove(this);
382 m_hasCachedCSSText = false; 369 m_hasCachedCSSText = false;
383 } 370 }
384 } 371 }
385 372
386 double CSSPrimitiveValue::computeSeconds() const 373 double CSSPrimitiveValue::computeSeconds() const
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 case UnitType::ViewportWidth: 779 case UnitType::ViewportWidth:
793 return "vw"; 780 return "vw";
794 case UnitType::ViewportHeight: 781 case UnitType::ViewportHeight:
795 return "vh"; 782 return "vh";
796 case UnitType::ViewportMin: 783 case UnitType::ViewportMin:
797 return "vmin"; 784 return "vmin";
798 case UnitType::ViewportMax: 785 case UnitType::ViewportMax:
799 return "vmax"; 786 return "vmax";
800 case UnitType::Unknown: 787 case UnitType::Unknown:
801 case UnitType::ValueID: 788 case UnitType::ValueID:
802 case UnitType::PropertyID:
803 case UnitType::RGBColor: 789 case UnitType::RGBColor:
804 case UnitType::Calc: 790 case UnitType::Calc:
805 case UnitType::CalcPercentageWithNumber: 791 case UnitType::CalcPercentageWithNumber:
806 case UnitType::CalcPercentageWithLength: 792 case UnitType::CalcPercentageWithLength:
807 break; 793 break;
808 }; 794 };
809 ASSERT_NOT_REACHED(); 795 ASSERT_NOT_REACHED();
810 return ""; 796 return "";
811 } 797 }
812 798
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
852 case UnitType::Fraction: 838 case UnitType::Fraction:
853 case UnitType::ViewportWidth: 839 case UnitType::ViewportWidth:
854 case UnitType::ViewportHeight: 840 case UnitType::ViewportHeight:
855 case UnitType::ViewportMin: 841 case UnitType::ViewportMin:
856 case UnitType::ViewportMax: 842 case UnitType::ViewportMax:
857 text = formatNumber(m_value.num, unitTypeToString(type())); 843 text = formatNumber(m_value.num, unitTypeToString(type()));
858 break; 844 break;
859 case UnitType::ValueID: 845 case UnitType::ValueID:
860 text = valueName(m_value.valueID); 846 text = valueName(m_value.valueID);
861 break; 847 break;
862 case UnitType::PropertyID:
863 text = propertyName(m_value.propertyID);
864 break;
865 case UnitType::RGBColor: { 848 case UnitType::RGBColor: {
866 text = Color(m_value.rgbcolor).serializedAsCSSComponentValue(); 849 text = Color(m_value.rgbcolor).serializedAsCSSComponentValue();
867 break; 850 break;
868 } 851 }
869 case UnitType::Calc: 852 case UnitType::Calc:
870 text = m_value.calc->customCSSText(); 853 text = m_value.calc->customCSSText();
871 break; 854 break;
872 case UnitType::CalcPercentageWithNumber: 855 case UnitType::CalcPercentageWithNumber:
873 case UnitType::CalcPercentageWithLength: 856 case UnitType::CalcPercentageWithLength:
874 ASSERT_NOT_REACHED(); 857 ASSERT_NOT_REACHED();
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
910 case UnitType::Seconds: 893 case UnitType::Seconds:
911 case UnitType::Hertz: 894 case UnitType::Hertz:
912 case UnitType::Kilohertz: 895 case UnitType::Kilohertz:
913 case UnitType::Turns: 896 case UnitType::Turns:
914 case UnitType::ViewportWidth: 897 case UnitType::ViewportWidth:
915 case UnitType::ViewportHeight: 898 case UnitType::ViewportHeight:
916 case UnitType::ViewportMin: 899 case UnitType::ViewportMin:
917 case UnitType::ViewportMax: 900 case UnitType::ViewportMax:
918 case UnitType::Fraction: 901 case UnitType::Fraction:
919 return m_value.num == other.m_value.num; 902 return m_value.num == other.m_value.num;
920 case UnitType::PropertyID:
921 return m_value.propertyID == other.m_value.propertyID;
922 case UnitType::ValueID: 903 case UnitType::ValueID:
923 return m_value.valueID == other.m_value.valueID; 904 return m_value.valueID == other.m_value.valueID;
924 case UnitType::RGBColor: 905 case UnitType::RGBColor:
925 return m_value.rgbcolor == other.m_value.rgbcolor; 906 return m_value.rgbcolor == other.m_value.rgbcolor;
926 case UnitType::Calc: 907 case UnitType::Calc:
927 return m_value.calc && other.m_value.calc && m_value.calc->equals(*other .m_value.calc); 908 return m_value.calc && other.m_value.calc && m_value.calc->equals(*other .m_value.calc);
928 case UnitType::Integer: 909 case UnitType::Integer:
929 case UnitType::Chs: 910 case UnitType::Chs:
930 case UnitType::CalcPercentageWithNumber: 911 case UnitType::CalcPercentageWithNumber:
931 case UnitType::CalcPercentageWithLength: 912 case UnitType::CalcPercentageWithLength:
(...skipping 11 matching lines...) Expand all
943 visitor->trace(m_value.calc); 924 visitor->trace(m_value.calc);
944 break; 925 break;
945 default: 926 default:
946 break; 927 break;
947 } 928 }
948 #endif 929 #endif
949 CSSValue::traceAfterDispatch(visitor); 930 CSSValue::traceAfterDispatch(visitor);
950 } 931 }
951 932
952 } // namespace blink 933 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698