Changeset 99679 in webkit
- Timestamp:
- Nov 9, 2011, 3:12:27 AM (14 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r99675 r99679 1 2011-11-08 Andreas Kling <kling@webkit.org> 2 3 Move CSSPrimitiveValue bitfields up into CSSValue. 4 <http://webkit.org/b/71835> 5 6 Reviewed by Darin Adler. 7 8 Move m_type (and rename it to m_primitiveUnitType), 9 m_hasCachedCSSText and m_isQuirkValue from CSSPrimitiveValue 10 up into CSSValue to share the space. 11 12 This, together with the devirtualization of CSSValue that 13 happened on <http://webkit.org/b/71666>, reduces the size 14 of CSSPrimitiveValue by one CPU word. 15 16 More specifically, we go from 16 to 12 bytes on 32-bit, 17 and from 24 to 16 bytes on 64-bit. 18 19 * css/CSSPrimitiveValue.cpp: 20 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 21 (WebCore::CSSPrimitiveValue::init): 22 (WebCore::CSSPrimitiveValue::cleanup): 23 (WebCore::CSSPrimitiveValue::getDoubleValueInternal): 24 (WebCore::CSSPrimitiveValue::getStringValue): 25 (WebCore::CSSPrimitiveValue::getCounterValue): 26 (WebCore::CSSPrimitiveValue::getRectValue): 27 (WebCore::CSSPrimitiveValue::getQuadValue): 28 (WebCore::CSSPrimitiveValue::getRGBColorValue): 29 (WebCore::CSSPrimitiveValue::getPairValue): 30 (WebCore::CSSPrimitiveValue::getIdent): 31 (WebCore::CSSPrimitiveValue::customCssText): 32 (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs): 33 * css/CSSPrimitiveValue.h: 34 (WebCore::CSSPrimitiveValue::isLength): 35 (WebCore::CSSPrimitiveValue::primitiveType): 36 (WebCore::CSSPrimitiveValue::setPrimitiveType): 37 (WebCore::CSSPrimitiveValue::getCounterValue): 38 (WebCore::CSSPrimitiveValue::getRectValue): 39 (WebCore::CSSPrimitiveValue::getQuadValue): 40 (WebCore::CSSPrimitiveValue::getRGBA32Value): 41 (WebCore::CSSPrimitiveValue::getPairValue): 42 (WebCore::CSSPrimitiveValue::getDashboardRegionValue): 43 (WebCore::CSSPrimitiveValue::getShapeValue): 44 * css/CSSPrimitiveValueMappings.h: 45 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 46 (WebCore::CSSPrimitiveValue::operator short): 47 (WebCore::CSSPrimitiveValue::operator unsigned short): 48 (WebCore::CSSPrimitiveValue::operator int): 49 (WebCore::CSSPrimitiveValue::operator unsigned): 50 (WebCore::CSSPrimitiveValue::operator float): 51 (WebCore::CSSPrimitiveValue::operator ColumnSpan): 52 * css/CSSValue.h: 53 (WebCore::CSSValue::CSSValue): 54 1 55 2011-11-09 Mark Hahnenberg <mhahnenberg@apple.com> 2 56 -
trunk/Source/WebCore/css/CSSPrimitiveValue.cpp
r99567 r99679 166 166 CSSPrimitiveValue::CSSPrimitiveValue() 167 167 : CSSValue(PrimitiveClass) 168 , m_type(0)169 , m_hasCachedCSSText(false)170 , m_isQuirkValue(false)171 168 { 172 169 } … … 174 171 CSSPrimitiveValue::CSSPrimitiveValue(int ident) 175 172 : CSSValue(PrimitiveClass) 176 , m_type(CSS_IDENT) 177 , m_hasCachedCSSText(false) 178 , m_isQuirkValue(false) 179 { 173 { 174 m_primitiveUnitType = CSS_IDENT; 180 175 m_value.ident = ident; 181 176 } … … 183 178 CSSPrimitiveValue::CSSPrimitiveValue(ClassType classType, int ident) 184 179 : CSSValue(classType) 185 , m_type(CSS_IDENT) 186 , m_hasCachedCSSText(false) 187 , m_isQuirkValue(false) 188 { 180 { 181 m_primitiveUnitType = CSS_IDENT; 189 182 m_value.ident = ident; 190 183 } … … 192 185 CSSPrimitiveValue::CSSPrimitiveValue(double num, UnitTypes type) 193 186 : CSSValue(PrimitiveClass) 194 , m_type(type) 195 , m_hasCachedCSSText(false) 196 , m_isQuirkValue(false) 197 { 187 { 188 m_primitiveUnitType = type; 198 189 ASSERT(isfinite(num)); 199 190 m_value.num = num; … … 202 193 CSSPrimitiveValue::CSSPrimitiveValue(const String& str, UnitTypes type) 203 194 : CSSValue(PrimitiveClass) 204 , m_type(type) 205 , m_hasCachedCSSText(false) 206 , m_isQuirkValue(false) 207 { 195 { 196 m_primitiveUnitType = type; 208 197 if ((m_value.string = str.impl())) 209 198 m_value.string->ref(); … … 213 202 CSSPrimitiveValue::CSSPrimitiveValue(ClassType classType, const String& str, UnitTypes type) 214 203 : CSSValue(classType) 215 , m_type(type) 216 , m_hasCachedCSSText(false) 217 , m_isQuirkValue(false) 218 { 204 { 205 m_primitiveUnitType = type; 219 206 if ((m_value.string = str.impl())) 220 207 m_value.string->ref(); … … 223 210 CSSPrimitiveValue::CSSPrimitiveValue(RGBA32 color) 224 211 : CSSValue(PrimitiveClass) 225 , m_type(CSS_RGBCOLOR) 226 , m_hasCachedCSSText(false) 227 , m_isQuirkValue(false) 228 { 212 { 213 m_primitiveUnitType = CSS_RGBCOLOR; 229 214 m_value.rgbcolor = color; 230 215 } … … 232 217 CSSPrimitiveValue::CSSPrimitiveValue(const Length& length) 233 218 : CSSValue(PrimitiveClass) 234 , m_hasCachedCSSText(false)235 , m_isQuirkValue(false)236 219 { 237 220 switch (length.type()) { 238 221 case Auto: 239 m_ type = CSS_IDENT;222 m_primitiveUnitType = CSS_IDENT; 240 223 m_value.ident = CSSValueAuto; 241 224 break; 242 225 case WebCore::Fixed: 243 m_ type = CSS_PX;226 m_primitiveUnitType = CSS_PX; 244 227 m_value.num = length.value(); 245 228 break; 246 229 case Intrinsic: 247 m_ type = CSS_IDENT;230 m_primitiveUnitType = CSS_IDENT; 248 231 m_value.ident = CSSValueIntrinsic; 249 232 break; 250 233 case MinIntrinsic: 251 m_ type = CSS_IDENT;234 m_primitiveUnitType = CSS_IDENT; 252 235 m_value.ident = CSSValueMinIntrinsic; 253 236 break; 254 237 case Percent: 255 m_ type = CSS_PERCENTAGE;238 m_primitiveUnitType = CSS_PERCENTAGE; 256 239 ASSERT(isfinite(length.percent())); 257 240 m_value.num = length.percent(); … … 266 249 void CSSPrimitiveValue::init(PassRefPtr<Counter> c) 267 250 { 268 m_ type = CSS_COUNTER;251 m_primitiveUnitType = CSS_COUNTER; 269 252 m_hasCachedCSSText = false; 270 253 m_value.counter = c.leakRef(); … … 273 256 void CSSPrimitiveValue::init(PassRefPtr<Rect> r) 274 257 { 275 m_ type = CSS_RECT;258 m_primitiveUnitType = CSS_RECT; 276 259 m_hasCachedCSSText = false; 277 260 m_value.rect = r.leakRef(); … … 280 263 void CSSPrimitiveValue::init(PassRefPtr<Quad> quad) 281 264 { 282 m_ type = CSS_QUAD;265 m_primitiveUnitType = CSS_QUAD; 283 266 m_hasCachedCSSText = false; 284 267 m_value.quad = quad.leakRef(); … … 288 271 void CSSPrimitiveValue::init(PassRefPtr<DashboardRegion> r) 289 272 { 290 m_ type = CSS_DASHBOARD_REGION;273 m_primitiveUnitType = CSS_DASHBOARD_REGION; 291 274 m_hasCachedCSSText = false; 292 275 m_value.region = r.leakRef(); … … 296 279 void CSSPrimitiveValue::init(PassRefPtr<Pair> p) 297 280 { 298 m_ type = CSS_PAIR;281 m_primitiveUnitType = CSS_PAIR; 299 282 m_hasCachedCSSText = false; 300 283 m_value.pair = p.leakRef(); … … 303 286 void CSSPrimitiveValue::init(PassRefPtr<CSSWrapShape> shape) 304 287 { 305 m_ type = CSS_SHAPE;288 m_primitiveUnitType = CSS_SHAPE; 306 289 m_hasCachedCSSText = false; 307 290 m_value.shape = shape.leakRef(); … … 315 298 void CSSPrimitiveValue::cleanup() 316 299 { 317 switch (m_ type) {300 switch (m_primitiveUnitType) { 318 301 case CSS_STRING: 319 302 case CSS_URI: … … 348 331 } 349 332 350 m_ type = 0;333 m_primitiveUnitType = 0; 351 334 if (m_hasCachedCSSText) { 352 335 cssTextCache().remove(this); … … 546 529 bool CSSPrimitiveValue::getDoubleValueInternal(UnitTypes requestedUnitType, double* result) const 547 530 { 548 if (!isValidCSSUnitTypeForDoubleConversion(static_cast<UnitTypes>(m_ type)) || !isValidCSSUnitTypeForDoubleConversion(requestedUnitType))531 if (!isValidCSSUnitTypeForDoubleConversion(static_cast<UnitTypes>(m_primitiveUnitType)) || !isValidCSSUnitTypeForDoubleConversion(requestedUnitType)) 549 532 return false; 550 if (requestedUnitType == m_ type || requestedUnitType == CSS_DIMENSION) {533 if (requestedUnitType == m_primitiveUnitType || requestedUnitType == CSS_DIMENSION) { 551 534 *result = m_value.num; 552 535 return true; 553 536 } 554 537 555 UnitTypes sourceUnitType = static_cast<UnitTypes>(m_ type);538 UnitTypes sourceUnitType = static_cast<UnitTypes>(m_primitiveUnitType); 556 539 UnitCategory sourceCategory = unitCategory(sourceUnitType); 557 540 ASSERT(sourceCategory != UOther); … … 581 564 double convertedValue = m_value.num; 582 565 583 // First convert the value from m_ type to canonical type.566 // First convert the value from m_primitiveUnitType to canonical type. 584 567 double factor = conversionToCanonicalUnitsScaleFactor(sourceUnitType); 585 568 convertedValue *= factor; … … 604 587 { 605 588 ec = 0; 606 switch (m_ type) {589 switch (m_primitiveUnitType) { 607 590 case CSS_STRING: 608 591 case CSS_ATTR: … … 621 604 String CSSPrimitiveValue::getStringValue() const 622 605 { 623 switch (m_ type) {606 switch (m_primitiveUnitType) { 624 607 case CSS_STRING: 625 608 case CSS_ATTR: … … 638 621 { 639 622 ec = 0; 640 if (m_ type != CSS_COUNTER) {623 if (m_primitiveUnitType != CSS_COUNTER) { 641 624 ec = INVALID_ACCESS_ERR; 642 625 return 0; … … 649 632 { 650 633 ec = 0; 651 if (m_ type != CSS_RECT) {634 if (m_primitiveUnitType != CSS_RECT) { 652 635 ec = INVALID_ACCESS_ERR; 653 636 return 0; … … 660 643 { 661 644 ec = 0; 662 if (m_ type != CSS_QUAD) {645 if (m_primitiveUnitType != CSS_QUAD) { 663 646 ec = INVALID_ACCESS_ERR; 664 647 return 0; … … 671 654 { 672 655 ec = 0; 673 if (m_ type != CSS_RGBCOLOR) {656 if (m_primitiveUnitType != CSS_RGBCOLOR) { 674 657 ec = INVALID_ACCESS_ERR; 675 658 return 0; … … 683 666 { 684 667 ec = 0; 685 if (m_ type != CSS_PAIR) {668 if (m_primitiveUnitType != CSS_PAIR) { 686 669 ec = INVALID_ACCESS_ERR; 687 670 return 0; … … 693 676 int CSSPrimitiveValue::getIdent() const 694 677 { 695 if (m_ type != CSS_IDENT)678 if (m_primitiveUnitType != CSS_IDENT) 696 679 return 0; 697 680 return m_value.ident; … … 720 703 721 704 String text; 722 switch (m_ type) {705 switch (m_primitiveUnitType) { 723 706 case CSS_UNKNOWN: 724 707 // FIXME … … 886 869 887 870 RGBA32 rgbColor = m_value.rgbcolor; 888 if (m_ type == CSS_PARSER_HEXCOLOR)871 if (m_primitiveUnitType == CSS_PARSER_HEXCOLOR) 889 872 Color::parseHexColor(m_value.string, rgbColor); 890 873 Color color(rgbColor); … … 933 916 else 934 917 break; 935 if (region->top()->m_ type == CSS_IDENT && region->top()->getIdent() == CSSValueInvalid) {936 ASSERT(region->right()->m_ type == CSS_IDENT);937 ASSERT(region->bottom()->m_ type == CSS_IDENT);938 ASSERT(region->left()->m_ type == CSS_IDENT);918 if (region->top()->m_primitiveUnitType == CSS_IDENT && region->top()->getIdent() == CSSValueInvalid) { 919 ASSERT(region->right()->m_primitiveUnitType == CSS_IDENT); 920 ASSERT(region->bottom()->m_primitiveUnitType == CSS_IDENT); 921 ASSERT(region->left()->m_primitiveUnitType == CSS_IDENT); 939 922 ASSERT(region->right()->getIdent() == CSSValueInvalid); 940 923 ASSERT(region->bottom()->getIdent() == CSSValueInvalid); … … 972 955 void CSSPrimitiveValue::addSubresourceStyleURLs(ListHashSet<KURL>& urls, const CSSStyleSheet* styleSheet) 973 956 { 974 if (m_ type == CSS_URI)957 if (m_primitiveUnitType == CSS_URI) 975 958 addSubresourceURL(urls, styleSheet->completeURL(m_value.string)); 976 959 } -
trunk/Source/WebCore/css/CSSPrimitiveValue.h
r99592 r99679 53 53 class CSSPrimitiveValue : public CSSValue { 54 54 public: 55 static const int UnitTypesBits = 8;56 55 enum UnitTypes { 57 56 CSS_UNKNOWN = 0, … … 121 120 type == CSSPrimitiveValue::CSS_REMS; } 122 121 123 bool isLength() const { return isUnitTypeLength(m_ type); }122 bool isLength() const { return isUnitTypeLength(m_primitiveUnitType); } 124 123 125 124 static PassRefPtr<CSSPrimitiveValue> createIdentifier(int identifier) { return adoptRef(new CSSPrimitiveValue(identifier)); } … … 148 147 void cleanup(); 149 148 150 unsigned short primitiveType() const { return m_ type; }149 unsigned short primitiveType() const { return m_primitiveUnitType; } 151 150 152 151 /* … … 163 162 164 163 // use with care!!! 165 void setPrimitiveType(unsigned short type) { m_ type = type; }164 void setPrimitiveType(unsigned short type) { m_primitiveUnitType = type; } 166 165 167 166 double getDoubleValue(unsigned short unitType, ExceptionCode&) const; … … 187 186 188 187 Counter* getCounterValue(ExceptionCode&) const; 189 Counter* getCounterValue() const { return m_ type != CSS_COUNTER ? 0 : m_value.counter; }188 Counter* getCounterValue() const { return m_primitiveUnitType != CSS_COUNTER ? 0 : m_value.counter; } 190 189 191 190 Rect* getRectValue(ExceptionCode&) const; 192 Rect* getRectValue() const { return m_ type != CSS_RECT ? 0 : m_value.rect; }191 Rect* getRectValue() const { return m_primitiveUnitType != CSS_RECT ? 0 : m_value.rect; } 193 192 194 193 Quad* getQuadValue(ExceptionCode&) const; 195 Quad* getQuadValue() const { return m_ type != CSS_QUAD ? 0 : m_value.quad; }194 Quad* getQuadValue() const { return m_primitiveUnitType != CSS_QUAD ? 0 : m_value.quad; } 196 195 197 196 PassRefPtr<RGBColor> getRGBColorValue(ExceptionCode&) const; 198 RGBA32 getRGBA32Value() const { return m_ type != CSS_RGBCOLOR ? 0 : m_value.rgbcolor; }197 RGBA32 getRGBA32Value() const { return m_primitiveUnitType != CSS_RGBCOLOR ? 0 : m_value.rgbcolor; } 199 198 200 199 Pair* getPairValue(ExceptionCode&) const; 201 Pair* getPairValue() const { return m_ type != CSS_PAIR ? 0 : m_value.pair; }202 203 DashboardRegion* getDashboardRegionValue() const { return m_ type != CSS_DASHBOARD_REGION ? 0 : m_value.region; }204 205 CSSWrapShape* getShapeValue() const { return m_ type != CSS_SHAPE ? 0 : m_value.shape; }200 Pair* getPairValue() const { return m_primitiveUnitType != CSS_PAIR ? 0 : m_value.pair; } 201 202 DashboardRegion* getDashboardRegionValue() const { return m_primitiveUnitType != CSS_DASHBOARD_REGION ? 0 : m_value.region; } 203 204 CSSWrapShape* getShapeValue() const { return m_primitiveUnitType != CSS_SHAPE ? 0 : m_value.shape; } 206 205 207 206 int getIdent() const; … … 261 260 double computeLengthDouble(RenderStyle* currentStyle, RenderStyle* rootStyle, double multiplier, bool computingFontSize); 262 261 263 signed m_type : UnitTypesBits;264 mutable unsigned m_hasCachedCSSText : 1;265 unsigned m_isQuirkValue : 1;266 262 union { 267 263 int ident; -
trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h
r99468 r99679 52 52 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(short i) 53 53 : CSSValue(PrimitiveClass) 54 , m_type(CSS_NUMBER) 55 , m_hasCachedCSSText(false) 56 { 54 { 55 m_primitiveUnitType = CSS_NUMBER; 57 56 m_value.num = static_cast<double>(i); 58 57 } … … 60 59 template<> inline CSSPrimitiveValue::operator short() const 61 60 { 62 if (m_ type == CSS_NUMBER)61 if (m_primitiveUnitType == CSS_NUMBER) 63 62 return clampTo<short>(m_value.num); 64 63 … … 69 68 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(unsigned short i) 70 69 : CSSValue(PrimitiveClass) 71 , m_type(CSS_NUMBER) 72 , m_hasCachedCSSText(false) 73 { 70 { 71 m_primitiveUnitType = CSS_NUMBER; 74 72 m_value.num = static_cast<double>(i); 75 73 } … … 77 75 template<> inline CSSPrimitiveValue::operator unsigned short() const 78 76 { 79 if (m_ type == CSS_NUMBER)77 if (m_primitiveUnitType == CSS_NUMBER) 80 78 return clampTo<unsigned short>(m_value.num); 81 79 … … 86 84 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(int i) 87 85 : CSSValue(PrimitiveClass) 88 , m_type(CSS_NUMBER) 89 , m_hasCachedCSSText(false) 90 { 86 { 87 m_primitiveUnitType = CSS_NUMBER; 91 88 m_value.num = static_cast<double>(i); 92 89 } … … 94 91 template<> inline CSSPrimitiveValue::operator int() const 95 92 { 96 if (m_ type == CSS_NUMBER)93 if (m_primitiveUnitType == CSS_NUMBER) 97 94 return clampTo<int>(m_value.num); 98 95 … … 103 100 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(unsigned i) 104 101 : CSSValue(PrimitiveClass) 105 , m_type(CSS_NUMBER) 106 , m_hasCachedCSSText(false) 107 { 102 { 103 m_primitiveUnitType = CSS_NUMBER; 108 104 m_value.num = static_cast<double>(i); 109 105 } … … 111 107 template<> inline CSSPrimitiveValue::operator unsigned() const 112 108 { 113 if (m_ type == CSS_NUMBER)109 if (m_primitiveUnitType == CSS_NUMBER) 114 110 return clampTo<unsigned>(m_value.num); 115 111 … … 121 117 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(float i) 122 118 : CSSValue(PrimitiveClass) 123 , m_type(CSS_NUMBER) 124 , m_hasCachedCSSText(false) 125 { 119 { 120 m_primitiveUnitType = CSS_NUMBER; 126 121 m_value.num = static_cast<double>(i); 127 122 } … … 129 124 template<> inline CSSPrimitiveValue::operator float() const 130 125 { 131 if (m_ type == CSS_NUMBER)126 if (m_primitiveUnitType == CSS_NUMBER) 132 127 return clampTo<float>(m_value.num); 133 128 … … 138 133 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ColumnSpan columnSpan) 139 134 : CSSValue(PrimitiveClass) 140 , m_hasCachedCSSText(false)141 135 { 142 136 switch (columnSpan) { 143 137 case ColumnSpanAll: 144 m_ type = CSS_IDENT;138 m_primitiveUnitType = CSS_IDENT; 145 139 m_value.ident = CSSValueAll; 146 140 break; 147 141 case ColumnSpanOne: 148 m_ type = CSS_NUMBER;142 m_primitiveUnitType = CSS_NUMBER; 149 143 m_value.num = 1; 150 144 break; … … 154 148 template<> inline CSSPrimitiveValue::operator ColumnSpan() const 155 149 { 156 if (m_ type == CSS_IDENT && m_value.ident == CSSValueAll)150 if (m_primitiveUnitType == CSS_IDENT && m_value.ident == CSSValueAll) 157 151 return ColumnSpanAll; 158 if (m_ type == CSS_NUMBER && m_value.num == 1)152 if (m_primitiveUnitType == CSS_NUMBER && m_value.num == 1) 159 153 return ColumnSpanOne; 160 154 ASSERT_NOT_REACHED(); … … 165 159 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(PrintColorAdjust value) 166 160 : CSSValue(PrimitiveClass) 167 , m_type(CSS_IDENT) 168 , m_hasCachedCSSText(false) 169 { 161 { 162 m_primitiveUnitType = CSS_IDENT; 170 163 switch (value) { 171 164 case PrintColorAdjustExact: … … 194 187 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBorderStyle e) 195 188 : CSSValue(PrimitiveClass) 196 , m_type(CSS_IDENT) 197 , m_hasCachedCSSText(false) 198 { 189 { 190 m_primitiveUnitType = CSS_IDENT; 199 191 switch (e) { 200 192 case BNONE: … … 247 239 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(CompositeOperator e) 248 240 : CSSValue(PrimitiveClass) 249 , m_type(CSS_IDENT) 250 , m_hasCachedCSSText(false) 251 { 241 { 242 m_primitiveUnitType = CSS_IDENT; 252 243 switch (e) { 253 244 case CompositeClear: … … 330 321 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ControlPart e) 331 322 : CSSValue(PrimitiveClass) 332 , m_type(CSS_IDENT) 333 , m_hasCachedCSSText(false) 334 { 323 { 324 m_primitiveUnitType = CSS_IDENT; 335 325 switch (e) { 336 326 case NoControlPart: … … 520 510 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBackfaceVisibility e) 521 511 : CSSValue(PrimitiveClass) 522 , m_type(CSS_IDENT) 523 , m_hasCachedCSSText(false) 524 { 512 { 513 m_primitiveUnitType = CSS_IDENT; 525 514 switch (e) { 526 515 case BackfaceVisibilityVisible: … … 549 538 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFillAttachment e) 550 539 : CSSValue(PrimitiveClass) 551 , m_type(CSS_IDENT) 552 , m_hasCachedCSSText(false) 553 { 540 { 541 m_primitiveUnitType = CSS_IDENT; 554 542 switch (e) { 555 543 case ScrollBackgroundAttachment: … … 582 570 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFillBox e) 583 571 : CSSValue(PrimitiveClass) 584 , m_type(CSS_IDENT) 585 , m_hasCachedCSSText(false) 586 { 572 { 573 m_primitiveUnitType = CSS_IDENT; 587 574 switch (e) { 588 575 case BorderFillBox: … … 624 611 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFillRepeat e) 625 612 : CSSValue(PrimitiveClass) 626 , m_type(CSS_IDENT) 627 , m_hasCachedCSSText(false) 628 { 613 { 614 m_primitiveUnitType = CSS_IDENT; 629 615 switch (e) { 630 616 case RepeatFill: … … 662 648 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBoxAlignment e) 663 649 : CSSValue(PrimitiveClass) 664 , m_type(CSS_IDENT) 665 , m_hasCachedCSSText(false) 666 { 650 { 651 m_primitiveUnitType = CSS_IDENT; 667 652 switch (e) { 668 653 case BSTRETCH: … … 710 695 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBoxSizing e) 711 696 : CSSValue(PrimitiveClass) 712 , m_type(CSS_IDENT) 713 , m_hasCachedCSSText(false) 714 { 697 { 698 m_primitiveUnitType = CSS_IDENT; 715 699 switch (e) { 716 700 case BORDER_BOX: … … 738 722 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBoxDirection e) 739 723 : CSSValue(PrimitiveClass) 740 , m_type(CSS_IDENT) 741 , m_hasCachedCSSText(false) 742 { 724 { 725 m_primitiveUnitType = CSS_IDENT; 743 726 switch (e) { 744 727 case BNORMAL: … … 766 749 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBoxLines e) 767 750 : CSSValue(PrimitiveClass) 768 , m_type(CSS_IDENT) 769 , m_hasCachedCSSText(false) 770 { 751 { 752 m_primitiveUnitType = CSS_IDENT; 771 753 switch (e) { 772 754 case SINGLE: … … 794 776 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBoxOrient e) 795 777 : CSSValue(PrimitiveClass) 796 , m_type(CSS_IDENT) 797 , m_hasCachedCSSText(false) 798 { 778 { 779 m_primitiveUnitType = CSS_IDENT; 799 780 switch (e) { 800 781 case HORIZONTAL: … … 824 805 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ECaptionSide e) 825 806 : CSSValue(PrimitiveClass) 826 , m_type(CSS_IDENT) 827 , m_hasCachedCSSText(false) 828 { 807 { 808 m_primitiveUnitType = CSS_IDENT; 829 809 switch (e) { 830 810 case CAPLEFT: … … 862 842 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EClear e) 863 843 : CSSValue(PrimitiveClass) 864 , m_type(CSS_IDENT) 865 , m_hasCachedCSSText(false) 866 { 844 { 845 m_primitiveUnitType = CSS_IDENT; 867 846 switch (e) { 868 847 case CNONE: … … 900 879 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ECursor e) 901 880 : CSSValue(PrimitiveClass) 902 , m_type(CSS_IDENT) 903 , m_hasCachedCSSText(false) 904 { 881 { 882 m_primitiveUnitType = CSS_IDENT; 905 883 switch (e) { 906 884 case CURSOR_AUTO: … … 1026 1004 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EDisplay e) 1027 1005 : CSSValue(PrimitiveClass) 1028 , m_type(CSS_IDENT) 1029 , m_hasCachedCSSText(false) 1030 { 1006 { 1007 m_primitiveUnitType = CSS_IDENT; 1031 1008 switch (e) { 1032 1009 case INLINE: … … 1107 1084 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EEmptyCell e) 1108 1085 : CSSValue(PrimitiveClass) 1109 , m_type(CSS_IDENT) 1110 , m_hasCachedCSSText(false) 1111 { 1086 { 1087 m_primitiveUnitType = CSS_IDENT; 1112 1088 switch (e) { 1113 1089 case SHOW: … … 1135 1111 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFlexAlign e) 1136 1112 : CSSValue(PrimitiveClass) 1137 , m_type(CSS_IDENT) 1138 , m_hasCachedCSSText(false) 1139 { 1113 { 1114 m_primitiveUnitType = CSS_IDENT; 1140 1115 switch (e) { 1141 1116 case AlignStart: … … 1178 1153 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFlexPack e) 1179 1154 : CSSValue(PrimitiveClass) 1180 , m_type(CSS_IDENT) 1181 , m_hasCachedCSSText(false) 1182 { 1155 { 1156 m_primitiveUnitType = CSS_IDENT; 1183 1157 switch (e) { 1184 1158 case PackStart: … … 1216 1190 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFlexFlow e) 1217 1191 : CSSValue(PrimitiveClass) 1218 , m_type(CSS_IDENT) 1219 , m_hasCachedCSSText(false) 1220 { 1192 { 1193 m_primitiveUnitType = CSS_IDENT; 1221 1194 switch (e) { 1222 1195 case FlowRow: … … 1254 1227 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFloat e) 1255 1228 : CSSValue(PrimitiveClass) 1256 , m_type(CSS_IDENT) 1257 , m_hasCachedCSSText(false) 1258 { 1229 { 1230 m_primitiveUnitType = CSS_IDENT; 1259 1231 switch (e) { 1260 1232 case NoFloat: … … 1293 1265 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EKHTMLLineBreak e) 1294 1266 : CSSValue(PrimitiveClass) 1295 , m_type(CSS_IDENT) 1296 , m_hasCachedCSSText(false) 1297 { 1267 { 1268 m_primitiveUnitType = CSS_IDENT; 1298 1269 switch (e) { 1299 1270 case LBNORMAL: … … 1321 1292 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EListStylePosition e) 1322 1293 : CSSValue(PrimitiveClass) 1323 , m_type(CSS_IDENT) 1324 , m_hasCachedCSSText(false) 1325 { 1294 { 1295 m_primitiveUnitType = CSS_IDENT; 1326 1296 switch (e) { 1327 1297 case OUTSIDE: … … 1341 1311 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EListStyleType e) 1342 1312 : CSSValue(PrimitiveClass) 1343 , m_type(CSS_IDENT) 1344 , m_hasCachedCSSText(false) 1345 { 1313 { 1314 m_primitiveUnitType = CSS_IDENT; 1346 1315 switch (e) { 1347 1316 case Afar: … … 1603 1572 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EMarginCollapse e) 1604 1573 : CSSValue(PrimitiveClass) 1605 , m_type(CSS_IDENT) 1606 , m_hasCachedCSSText(false) 1607 { 1574 { 1575 m_primitiveUnitType = CSS_IDENT; 1608 1576 switch (e) { 1609 1577 case MCOLLAPSE: … … 1636 1604 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EMarqueeBehavior e) 1637 1605 : CSSValue(PrimitiveClass) 1638 , m_type(CSS_IDENT) 1639 , m_hasCachedCSSText(false) 1640 { 1606 { 1607 m_primitiveUnitType = CSS_IDENT; 1641 1608 switch (e) { 1642 1609 case MNONE: … … 1674 1641 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(RegionOverflow e) 1675 1642 : CSSValue(PrimitiveClass) 1676 , m_type(CSS_IDENT) 1677 , m_hasCachedCSSText(false) 1678 { 1643 { 1644 m_primitiveUnitType = CSS_IDENT; 1679 1645 switch (e) { 1680 1646 case AutoRegionOverflow: … … 1702 1668 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EMarqueeDirection e) 1703 1669 : CSSValue(PrimitiveClass) 1704 , m_type(CSS_IDENT) 1705 , m_hasCachedCSSText(false) 1706 { 1670 { 1671 m_primitiveUnitType = CSS_IDENT; 1707 1672 switch (e) { 1708 1673 case MFORWARD: … … 1757 1722 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EMatchNearestMailBlockquoteColor e) 1758 1723 : CSSValue(PrimitiveClass) 1759 , m_type(CSS_IDENT) 1760 , m_hasCachedCSSText(false) 1761 { 1724 { 1725 m_primitiveUnitType = CSS_IDENT; 1762 1726 switch (e) { 1763 1727 case BCNORMAL: … … 1785 1749 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ENBSPMode e) 1786 1750 : CSSValue(PrimitiveClass) 1787 , m_type(CSS_IDENT) 1788 , m_hasCachedCSSText(false) 1789 { 1751 { 1752 m_primitiveUnitType = CSS_IDENT; 1790 1753 switch (e) { 1791 1754 case NBNORMAL: … … 1813 1776 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EOverflow e) 1814 1777 : CSSValue(PrimitiveClass) 1815 , m_type(CSS_IDENT) 1816 , m_hasCachedCSSText(false) 1817 { 1778 { 1779 m_primitiveUnitType = CSS_IDENT; 1818 1780 switch (e) { 1819 1781 case OVISIBLE: … … 1861 1823 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EPageBreak e) 1862 1824 : CSSValue(PrimitiveClass) 1863 , m_type(CSS_IDENT) 1864 , m_hasCachedCSSText(false) 1865 { 1825 { 1826 m_primitiveUnitType = CSS_IDENT; 1866 1827 switch (e) { 1867 1828 case PBAUTO: … … 1896 1857 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EPosition e) 1897 1858 : CSSValue(PrimitiveClass) 1898 , m_type(CSS_IDENT) 1899 , m_hasCachedCSSText(false) 1900 { 1859 { 1860 m_primitiveUnitType = CSS_IDENT; 1901 1861 switch (e) { 1902 1862 case StaticPosition: … … 1934 1894 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EResize e) 1935 1895 : CSSValue(PrimitiveClass) 1936 , m_type(CSS_IDENT) 1937 , m_hasCachedCSSText(false) 1938 { 1896 { 1897 m_primitiveUnitType = CSS_IDENT; 1939 1898 switch (e) { 1940 1899 case RESIZE_BOTH: … … 1975 1934 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETableLayout e) 1976 1935 : CSSValue(PrimitiveClass) 1977 , m_type(CSS_IDENT) 1978 , m_hasCachedCSSText(false) 1979 { 1936 { 1937 m_primitiveUnitType = CSS_IDENT; 1980 1938 switch (e) { 1981 1939 case TAUTO: … … 2003 1961 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETextAlign e) 2004 1962 : CSSValue(PrimitiveClass) 2005 , m_type(CSS_IDENT) 2006 , m_hasCachedCSSText(false) 2007 { 1963 { 1964 m_primitiveUnitType = CSS_IDENT; 2008 1965 switch (e) { 2009 1966 case TAAUTO: … … 2073 2030 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETextSecurity e) 2074 2031 : CSSValue(PrimitiveClass) 2075 , m_type(CSS_IDENT) 2076 , m_hasCachedCSSText(false) 2077 { 2032 { 2033 m_primitiveUnitType = CSS_IDENT; 2078 2034 switch (e) { 2079 2035 case TSNONE: … … 2111 2067 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETextTransform e) 2112 2068 : CSSValue(PrimitiveClass) 2113 , m_type(CSS_IDENT) 2114 , m_hasCachedCSSText(false) 2115 { 2069 { 2070 m_primitiveUnitType = CSS_IDENT; 2116 2071 switch (e) { 2117 2072 case CAPITALIZE: … … 2149 2104 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EUnicodeBidi e) 2150 2105 : CSSValue(PrimitiveClass) 2151 , m_type(CSS_IDENT) 2152 , m_hasCachedCSSText(false) 2153 { 2106 { 2107 m_primitiveUnitType = CSS_IDENT; 2154 2108 switch (e) { 2155 2109 case UBNormal: … … 2192 2146 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EUserDrag e) 2193 2147 : CSSValue(PrimitiveClass) 2194 , m_type(CSS_IDENT) 2195 , m_hasCachedCSSText(false) 2196 { 2148 { 2149 m_primitiveUnitType = CSS_IDENT; 2197 2150 switch (e) { 2198 2151 case DRAG_AUTO: … … 2225 2178 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EUserModify e) 2226 2179 : CSSValue(PrimitiveClass) 2227 , m_type(CSS_IDENT) 2228 , m_hasCachedCSSText(false) 2229 { 2180 { 2181 m_primitiveUnitType = CSS_IDENT; 2230 2182 switch (e) { 2231 2183 case READ_ONLY: … … 2248 2200 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EUserSelect e) 2249 2201 : CSSValue(PrimitiveClass) 2250 , m_type(CSS_IDENT) 2251 , m_hasCachedCSSText(false) 2252 { 2202 { 2203 m_primitiveUnitType = CSS_IDENT; 2253 2204 switch (e) { 2254 2205 case SELECT_NONE: … … 2278 2229 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EVerticalAlign a) 2279 2230 : CSSValue(PrimitiveClass) 2280 , m_type(CSS_IDENT) 2281 , m_hasCachedCSSText(false) 2282 { 2231 { 2232 m_primitiveUnitType = CSS_IDENT; 2283 2233 switch (a) { 2284 2234 case TOP: … … 2343 2293 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EVisibility e) 2344 2294 : CSSValue(PrimitiveClass) 2345 , m_type(CSS_IDENT) 2346 , m_hasCachedCSSText(false) 2347 { 2295 { 2296 m_primitiveUnitType = CSS_IDENT; 2348 2297 switch (e) { 2349 2298 case VISIBLE: … … 2376 2325 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EWhiteSpace e) 2377 2326 : CSSValue(PrimitiveClass) 2378 , m_type(CSS_IDENT) 2379 , m_hasCachedCSSText(false) 2380 { 2327 { 2328 m_primitiveUnitType = CSS_IDENT; 2381 2329 switch (e) { 2382 2330 case NORMAL: … … 2424 2372 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EWordBreak e) 2425 2373 : CSSValue(PrimitiveClass) 2426 , m_type(CSS_IDENT) 2427 , m_hasCachedCSSText(false) 2428 { 2374 { 2375 m_primitiveUnitType = CSS_IDENT; 2429 2376 switch (e) { 2430 2377 case NormalWordBreak: … … 2457 2404 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EWordWrap e) 2458 2405 : CSSValue(PrimitiveClass) 2459 , m_type(CSS_IDENT) 2460 , m_hasCachedCSSText(false) 2461 { 2406 { 2407 m_primitiveUnitType = CSS_IDENT; 2462 2408 switch (e) { 2463 2409 case NormalWordWrap: … … 2485 2431 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextDirection e) 2486 2432 : CSSValue(PrimitiveClass) 2487 , m_type(CSS_IDENT) 2488 , m_hasCachedCSSText(false) 2489 { 2433 { 2434 m_primitiveUnitType = CSS_IDENT; 2490 2435 switch (e) { 2491 2436 case LTR: … … 2513 2458 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(WritingMode e) 2514 2459 : CSSValue(PrimitiveClass) 2515 , m_type(CSS_IDENT) 2516 , m_hasCachedCSSText(false) 2517 { 2460 { 2461 m_primitiveUnitType = CSS_IDENT; 2518 2462 switch (e) { 2519 2463 case TopToBottomWritingMode: … … 2551 2495 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextCombine e) 2552 2496 : CSSValue(PrimitiveClass) 2553 , m_type(CSS_IDENT) 2554 , m_hasCachedCSSText(false) 2555 { 2497 { 2498 m_primitiveUnitType = CSS_IDENT; 2556 2499 switch (e) { 2557 2500 case TextCombineNone: … … 2579 2522 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextEmphasisPosition position) 2580 2523 : CSSValue(PrimitiveClass) 2581 , m_type(CSS_IDENT) 2582 , m_hasCachedCSSText(false) 2583 { 2524 { 2525 m_primitiveUnitType = CSS_IDENT; 2584 2526 switch (position) { 2585 2527 case TextEmphasisPositionOver: … … 2607 2549 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextOverflow overflow) 2608 2550 : CSSValue(PrimitiveClass) 2609 , m_type(CSS_IDENT) 2610 , m_hasCachedCSSText(false) 2611 { 2551 { 2552 m_primitiveUnitType = CSS_IDENT; 2612 2553 switch (overflow) { 2613 2554 case TextOverflowClip: … … 2635 2576 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextEmphasisFill fill) 2636 2577 : CSSValue(PrimitiveClass) 2637 , m_type(CSS_IDENT) 2638 , m_hasCachedCSSText(false) 2639 { 2578 { 2579 m_primitiveUnitType = CSS_IDENT; 2640 2580 switch (fill) { 2641 2581 case TextEmphasisFillFilled: … … 2663 2603 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextEmphasisMark mark) 2664 2604 : CSSValue(PrimitiveClass) 2665 , m_type(CSS_IDENT) 2666 , m_hasCachedCSSText(false) 2667 { 2605 { 2606 m_primitiveUnitType = CSS_IDENT; 2668 2607 switch (mark) { 2669 2608 case TextEmphasisMarkDot: … … 2714 2653 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextOrientation e) 2715 2654 : CSSValue(PrimitiveClass) 2716 , m_type(CSS_IDENT) 2717 , m_hasCachedCSSText(false) 2718 { 2655 { 2656 m_primitiveUnitType = CSS_IDENT; 2719 2657 switch (e) { 2720 2658 case TextOrientationVerticalRight: … … 2742 2680 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EPointerEvents e) 2743 2681 : CSSValue(PrimitiveClass) 2744 , m_type(CSS_IDENT) 2745 , m_hasCachedCSSText(false) 2746 { 2682 { 2683 m_primitiveUnitType = CSS_IDENT; 2747 2684 switch (e) { 2748 2685 case PE_NONE: … … 2810 2747 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(FontSmoothingMode smoothing) 2811 2748 : CSSValue(PrimitiveClass) 2812 , m_type(CSS_IDENT) 2813 , m_hasCachedCSSText(false) 2814 { 2749 { 2750 m_primitiveUnitType = CSS_IDENT; 2815 2751 switch (smoothing) { 2816 2752 case AutoSmoothing: … … 2851 2787 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(FontWeight weight) 2852 2788 : CSSValue(PrimitiveClass) 2853 , m_type(CSS_IDENT) 2854 , m_hasCachedCSSText(false) 2855 { 2789 { 2790 m_primitiveUnitType = CSS_IDENT; 2856 2791 switch (weight) { 2857 2792 case FontWeight900: … … 2921 2856 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(FontItalic italic) 2922 2857 : CSSValue(PrimitiveClass) 2923 , m_type(CSS_IDENT) 2924 , m_hasCachedCSSText(false) 2925 { 2858 { 2859 m_primitiveUnitType = CSS_IDENT; 2926 2860 switch (italic) { 2927 2861 case FontItalicOff: … … 2953 2887 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(FontSmallCaps smallCaps) 2954 2888 : CSSValue(PrimitiveClass) 2955 , m_type(CSS_IDENT) 2956 , m_hasCachedCSSText(false) 2957 { 2889 { 2890 m_primitiveUnitType = CSS_IDENT; 2958 2891 switch (smallCaps) { 2959 2892 case FontSmallCapsOff: … … 2983 2916 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextRenderingMode e) 2984 2917 : CSSValue(PrimitiveClass) 2985 , m_type(CSS_IDENT) 2986 , m_hasCachedCSSText(false) 2987 { 2918 { 2919 m_primitiveUnitType = CSS_IDENT; 2988 2920 switch (e) { 2989 2921 case AutoTextRendering: … … 3021 2953 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ColorSpace space) 3022 2954 : CSSValue(PrimitiveClass) 3023 , m_type(CSS_IDENT) 3024 , m_hasCachedCSSText(false) 3025 { 2955 { 2956 m_primitiveUnitType = CSS_IDENT; 3026 2957 switch (space) { 3027 2958 case ColorSpaceDeviceRGB: … … 3054 2985 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(Hyphens hyphens) 3055 2986 : CSSValue(PrimitiveClass) 3056 , m_type(CSS_IDENT) 3057 , m_hasCachedCSSText(false) 3058 { 2987 { 2988 m_primitiveUnitType = CSS_IDENT; 3059 2989 switch (hyphens) { 3060 2990 case HyphensNone: … … 3087 3017 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ESpeak e) 3088 3018 : CSSValue(PrimitiveClass) 3089 , m_type(CSS_IDENT) 3090 , m_hasCachedCSSText(false) 3091 { 3019 { 3020 m_primitiveUnitType = CSS_IDENT; 3092 3021 switch (e) { 3093 3022 case SpeakNone: … … 3127 3056 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(Order e) 3128 3057 : CSSValue(PrimitiveClass) 3129 , m_type(CSS_IDENT) 3130 , m_hasCachedCSSText(false) 3131 { 3058 { 3059 m_primitiveUnitType = CSS_IDENT; 3132 3060 switch (e) { 3133 3061 case LogicalOrder: … … 3165 3093 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(LineCap e) 3166 3094 : CSSValue(PrimitiveClass) 3167 , m_type(CSS_IDENT) 3168 , m_hasCachedCSSText(false) 3169 { 3095 { 3096 m_primitiveUnitType = CSS_IDENT; 3170 3097 switch (e) { 3171 3098 case ButtCap: … … 3198 3125 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(LineJoin e) 3199 3126 : CSSValue(PrimitiveClass) 3200 , m_type(CSS_IDENT) 3201 , m_hasCachedCSSText(false) 3202 { 3127 { 3128 m_primitiveUnitType = CSS_IDENT; 3203 3129 switch (e) { 3204 3130 case MiterJoin: … … 3231 3157 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(WindRule e) 3232 3158 : CSSValue(PrimitiveClass) 3233 , m_type(CSS_IDENT) 3234 , m_hasCachedCSSText(false) 3235 { 3159 { 3160 m_primitiveUnitType = CSS_IDENT; 3236 3161 switch (e) { 3237 3162 case RULE_NONZERO: … … 3260 3185 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EAlignmentBaseline e) 3261 3186 : CSSValue(PrimitiveClass) 3262 , m_type(CSS_IDENT) 3263 , m_hasCachedCSSText(false) 3264 { 3187 { 3188 m_primitiveUnitType = CSS_IDENT; 3265 3189 switch (e) { 3266 3190 case AB_AUTO: … … 3340 3264 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBorderCollapse e) 3341 3265 : CSSValue(PrimitiveClass) 3342 , m_type(CSS_IDENT) 3343 , m_hasCachedCSSText(false) 3344 { 3266 { 3267 m_primitiveUnitType = CSS_IDENT; 3345 3268 switch (e) { 3346 3269 case BSEPARATE: … … 3368 3291 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EBorderFit e) 3369 3292 : CSSValue(PrimitiveClass) 3370 , m_type(CSS_IDENT) 3371 , m_hasCachedCSSText(false) 3372 { 3293 { 3294 m_primitiveUnitType = CSS_IDENT; 3373 3295 switch (e) { 3374 3296 case BorderFitBorder: … … 3396 3318 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EImageRendering e) 3397 3319 : CSSValue(PrimitiveClass) 3398 , m_type(CSS_IDENT) 3399 , m_hasCachedCSSText(false) 3400 { 3320 { 3321 m_primitiveUnitType = CSS_IDENT; 3401 3322 switch (e) { 3402 3323 case ImageRenderingAuto: … … 3434 3355 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETransformStyle3D e) 3435 3356 : CSSValue(PrimitiveClass) 3436 , m_type(CSS_IDENT) 3437 , m_hasCachedCSSText(false) 3438 { 3357 { 3358 m_primitiveUnitType = CSS_IDENT; 3439 3359 switch (e) { 3440 3360 case TransformStyle3DFlat: … … 3462 3382 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ColumnAxis e) 3463 3383 : CSSValue(PrimitiveClass) 3464 , m_type(CSS_IDENT) 3465 , m_hasCachedCSSText(false) 3466 { 3384 { 3385 m_primitiveUnitType = CSS_IDENT; 3467 3386 switch (e) { 3468 3387 case HorizontalColumnAxis: … … 3497 3416 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EColorInterpolation e) 3498 3417 : CSSValue(PrimitiveClass) 3499 , m_type(CSS_IDENT) 3500 , m_hasCachedCSSText(false) 3501 { 3418 { 3419 m_primitiveUnitType = CSS_IDENT; 3502 3420 switch (e) { 3503 3421 case CI_AUTO: … … 3530 3448 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EColorRendering e) 3531 3449 : CSSValue(PrimitiveClass) 3532 , m_type(CSS_IDENT) 3533 , m_hasCachedCSSText(false) 3534 { 3450 { 3451 m_primitiveUnitType = CSS_IDENT; 3535 3452 switch (e) { 3536 3453 case CR_AUTO: … … 3563 3480 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EDominantBaseline e) 3564 3481 : CSSValue(PrimitiveClass) 3565 , m_type(CSS_IDENT) 3566 , m_hasCachedCSSText(false) 3567 { 3482 { 3483 m_primitiveUnitType = CSS_IDENT; 3568 3484 switch (e) { 3569 3485 case DB_AUTO: … … 3641 3557 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EShapeRendering e) 3642 3558 : CSSValue(PrimitiveClass) 3643 , m_type(CSS_IDENT) 3644 , m_hasCachedCSSText(false) 3645 { 3559 { 3560 m_primitiveUnitType = CSS_IDENT; 3646 3561 switch (e) { 3647 3562 case SR_AUTO: … … 3679 3594 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ETextAnchor e) 3680 3595 : CSSValue(PrimitiveClass) 3681 , m_type(CSS_IDENT) 3682 , m_hasCachedCSSText(false) 3683 { 3596 { 3597 m_primitiveUnitType = CSS_IDENT; 3684 3598 switch (e) { 3685 3599 case TA_START: … … 3712 3626 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(SVGWritingMode e) 3713 3627 : CSSValue(PrimitiveClass) 3714 , m_type(CSS_IDENT) 3715 , m_hasCachedCSSText(false) 3716 { 3628 { 3629 m_primitiveUnitType = CSS_IDENT; 3717 3630 switch (e) { 3718 3631 case WM_LRTB: … … 3760 3673 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EVectorEffect e) 3761 3674 : CSSValue(PrimitiveClass) 3762 , m_type(CSS_IDENT) 3763 , m_hasCachedCSSText(false) 3764 { 3675 { 3676 m_primitiveUnitType = CSS_IDENT; 3765 3677 switch (e) { 3766 3678 case VE_NONE: -
trunk/Source/WebCore/css/CSSValue.h
r99592 r99679 134 134 ClassType classType() const { return static_cast<ClassType>(m_classType); } 135 135 136 CSSValue(ClassType classType) 137 : m_classType(classType) 136 explicit CSSValue(ClassType classType) 137 : m_primitiveUnitType(0) 138 , m_hasCachedCSSText(false) 139 , m_isQuirkValue(false) 140 , m_classType(classType) 138 141 , m_isPrimitive(isPrimitiveType(classType)) 139 142 , m_isMutable(isMutableType(classType)) … … 190 193 void destroy(); 191 194 192 // FIXME: This class is currently a little bloated, but that will change. 193 // See <http://webkit.org/b/71666> for more information. 195 protected: 196 // These bits are only used by CSSPrimitiveValue but kept here 197 // to maximize struct packing. 198 signed m_primitiveUnitType : 8; // CSSPrimitiveValue::UnitTypes 199 mutable unsigned m_hasCachedCSSText : 1; 200 unsigned m_isQuirkValue : 1; 201 202 private: 194 203 unsigned m_classType : 5; // ClassType 195 204 bool m_isPrimitive : 1;
Note:
See TracChangeset
for help on using the changeset viewer.