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

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

Issue 2346193002: Split CSSPrimitiveValue into CSSPrimitiveValue and CSSIdentifierValue (Closed)
Patch Set: Rebase please work Created 4 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 * Copyright (C) 2011 Andreas Kling (kling@webkit.org) 2 * Copyright (C) 2011 Andreas Kling (kling@webkit.org)
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 25 matching lines...) Expand all
36 #include "core/css/CSSCustomIdentValue.h" 36 #include "core/css/CSSCustomIdentValue.h"
37 #include "core/css/CSSCustomPropertyDeclaration.h" 37 #include "core/css/CSSCustomPropertyDeclaration.h"
38 #include "core/css/CSSFontFaceSrcValue.h" 38 #include "core/css/CSSFontFaceSrcValue.h"
39 #include "core/css/CSSFontFamilyValue.h" 39 #include "core/css/CSSFontFamilyValue.h"
40 #include "core/css/CSSFontFeatureValue.h" 40 #include "core/css/CSSFontFeatureValue.h"
41 #include "core/css/CSSFunctionValue.h" 41 #include "core/css/CSSFunctionValue.h"
42 #include "core/css/CSSGradientValue.h" 42 #include "core/css/CSSGradientValue.h"
43 #include "core/css/CSSGridAutoRepeatValue.h" 43 #include "core/css/CSSGridAutoRepeatValue.h"
44 #include "core/css/CSSGridLineNamesValue.h" 44 #include "core/css/CSSGridLineNamesValue.h"
45 #include "core/css/CSSGridTemplateAreasValue.h" 45 #include "core/css/CSSGridTemplateAreasValue.h"
46 #include "core/css/CSSIdentifierValue.h"
46 #include "core/css/CSSImageSetValue.h" 47 #include "core/css/CSSImageSetValue.h"
47 #include "core/css/CSSImageValue.h" 48 #include "core/css/CSSImageValue.h"
48 #include "core/css/CSSInheritedValue.h" 49 #include "core/css/CSSInheritedValue.h"
49 #include "core/css/CSSInitialValue.h" 50 #include "core/css/CSSInitialValue.h"
50 #include "core/css/CSSPaintValue.h" 51 #include "core/css/CSSPaintValue.h"
51 #include "core/css/CSSPathValue.h" 52 #include "core/css/CSSPathValue.h"
52 #include "core/css/CSSPendingSubstitutionValue.h" 53 #include "core/css/CSSPendingSubstitutionValue.h"
53 #include "core/css/CSSPrimitiveValue.h" 54 #include "core/css/CSSPrimitiveValue.h"
54 #include "core/css/CSSQuadValue.h" 55 #include "core/css/CSSQuadValue.h"
55 #include "core/css/CSSReflectValue.h" 56 #include "core/css/CSSReflectValue.h"
56 #include "core/css/CSSShadowValue.h" 57 #include "core/css/CSSShadowValue.h"
57 #include "core/css/CSSStringValue.h" 58 #include "core/css/CSSStringValue.h"
58 #include "core/css/CSSTimingFunctionValue.h" 59 #include "core/css/CSSTimingFunctionValue.h"
59 #include "core/css/CSSURIValue.h" 60 #include "core/css/CSSURIValue.h"
60 #include "core/css/CSSUnicodeRangeValue.h" 61 #include "core/css/CSSUnicodeRangeValue.h"
61 #include "core/css/CSSUnsetValue.h" 62 #include "core/css/CSSUnsetValue.h"
62 #include "core/css/CSSValueList.h" 63 #include "core/css/CSSValueList.h"
63 #include "core/css/CSSValuePair.h" 64 #include "core/css/CSSValuePair.h"
64 #include "core/css/CSSVariableReferenceValue.h" 65 #include "core/css/CSSVariableReferenceValue.h"
66 #include "platform/Length.h"
65 #include "wtf/SizeAssertions.h" 67 #include "wtf/SizeAssertions.h"
66 68
67 namespace blink { 69 namespace blink {
68 70
69 struct SameSizeAsCSSValue : public GarbageCollectedFinalized<SameSizeAsCSSValue> { 71 struct SameSizeAsCSSValue : public GarbageCollectedFinalized<SameSizeAsCSSValue> {
70 uint32_t bitfields; 72 uint32_t bitfields;
71 }; 73 };
72 ASSERT_SIZE(CSSValue, SameSizeAsCSSValue); 74 ASSERT_SIZE(CSSValue, SameSizeAsCSSValue);
73 75
76 CSSValue* CSSValue::create(const Length& value, float zoom)
77 {
78 switch (value.type()) {
79 case Auto:
80 case MinContent:
81 case MaxContent:
82 case FillAvailable:
83 case FitContent:
84 case ExtendToZoom:
85 return CSSIdentifierValue::create(value);
86 case Percent:
87 case Fixed:
88 case Calculated:
89 return CSSPrimitiveValue::create(value, zoom);
90 case DeviceWidth:
91 case DeviceHeight:
92 case MaxSizeNone:
93 NOTREACHED();
94 break;
95 }
96 return nullptr;
97 }
98
74 bool CSSValue::isImplicitInitialValue() const 99 bool CSSValue::isImplicitInitialValue() const
75 { 100 {
76 return m_classType == InitialClass && toCSSInitialValue(this)->isImplicit(); 101 return m_classType == InitialClass && toCSSInitialValue(this)->isImplicit();
77 } 102 }
78 103
79 bool CSSValue::hasFailedOrCanceledSubresources() const 104 bool CSSValue::hasFailedOrCanceledSubresources() const
80 { 105 {
81 if (isValueList()) 106 if (isValueList())
82 return toCSSValueList(this)->hasFailedOrCanceledSubresources(); 107 return toCSSValueList(this)->hasFailedOrCanceledSubresources();
83 if (getClassType() == FontFaceSrcClass) 108 if (getClassType() == FontFaceSrcClass)
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 case GridAutoRepeatClass: 172 case GridAutoRepeatClass:
148 return compareCSSValues<CSSGridAutoRepeatValue>(*this, other); 173 return compareCSSValues<CSSGridAutoRepeatValue>(*this, other);
149 case GridLineNamesClass: 174 case GridLineNamesClass:
150 return compareCSSValues<CSSGridLineNamesValue>(*this, other); 175 return compareCSSValues<CSSGridLineNamesValue>(*this, other);
151 case GridTemplateAreasClass: 176 case GridTemplateAreasClass:
152 return compareCSSValues<CSSGridTemplateAreasValue>(*this, other); 177 return compareCSSValues<CSSGridTemplateAreasValue>(*this, other);
153 case PathClass: 178 case PathClass:
154 return compareCSSValues<CSSPathValue>(*this, other); 179 return compareCSSValues<CSSPathValue>(*this, other);
155 case PrimitiveClass: 180 case PrimitiveClass:
156 return compareCSSValues<CSSPrimitiveValue>(*this, other); 181 return compareCSSValues<CSSPrimitiveValue>(*this, other);
182 case IdentifierClass:
183 return compareCSSValues<CSSIdentifierValue>(*this, other);
157 case QuadClass: 184 case QuadClass:
158 return compareCSSValues<CSSQuadValue>(*this, other); 185 return compareCSSValues<CSSQuadValue>(*this, other);
159 case ReflectClass: 186 case ReflectClass:
160 return compareCSSValues<CSSReflectValue>(*this, other); 187 return compareCSSValues<CSSReflectValue>(*this, other);
161 case ShadowClass: 188 case ShadowClass:
162 return compareCSSValues<CSSShadowValue>(*this, other); 189 return compareCSSValues<CSSShadowValue>(*this, other);
163 case StringClass: 190 case StringClass:
164 return compareCSSValues<CSSStringValue>(*this, other); 191 return compareCSSValues<CSSStringValue>(*this, other);
165 case CubicBezierTimingFunctionClass: 192 case CubicBezierTimingFunctionClass:
166 return compareCSSValues<CSSCubicBezierTimingFunctionValue>(*this, ot her); 193 return compareCSSValues<CSSCubicBezierTimingFunctionValue>(*this, ot her);
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 case GridAutoRepeatClass: 266 case GridAutoRepeatClass:
240 return toCSSGridAutoRepeatValue(this)->customCSSText(); 267 return toCSSGridAutoRepeatValue(this)->customCSSText();
241 case GridLineNamesClass: 268 case GridLineNamesClass:
242 return toCSSGridLineNamesValue(this)->customCSSText(); 269 return toCSSGridLineNamesValue(this)->customCSSText();
243 case GridTemplateAreasClass: 270 case GridTemplateAreasClass:
244 return toCSSGridTemplateAreasValue(this)->customCSSText(); 271 return toCSSGridTemplateAreasValue(this)->customCSSText();
245 case PathClass: 272 case PathClass:
246 return toCSSPathValue(this)->customCSSText(); 273 return toCSSPathValue(this)->customCSSText();
247 case PrimitiveClass: 274 case PrimitiveClass:
248 return toCSSPrimitiveValue(this)->customCSSText(); 275 return toCSSPrimitiveValue(this)->customCSSText();
276 case IdentifierClass:
277 return toCSSIdentifierValue(this)->customCSSText();
249 case QuadClass: 278 case QuadClass:
250 return toCSSQuadValue(this)->customCSSText(); 279 return toCSSQuadValue(this)->customCSSText();
251 case ReflectClass: 280 case ReflectClass:
252 return toCSSReflectValue(this)->customCSSText(); 281 return toCSSReflectValue(this)->customCSSText();
253 case ShadowClass: 282 case ShadowClass:
254 return toCSSShadowValue(this)->customCSSText(); 283 return toCSSShadowValue(this)->customCSSText();
255 case StringClass: 284 case StringClass:
256 return toCSSStringValue(this)->customCSSText(); 285 return toCSSStringValue(this)->customCSSText();
257 case CubicBezierTimingFunctionClass: 286 case CubicBezierTimingFunctionClass:
258 return toCSSCubicBezierTimingFunctionValue(this)->customCSSText(); 287 return toCSSCubicBezierTimingFunctionValue(this)->customCSSText();
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 return; 384 return;
356 case GridTemplateAreasClass: 385 case GridTemplateAreasClass:
357 toCSSGridTemplateAreasValue(this)->~CSSGridTemplateAreasValue(); 386 toCSSGridTemplateAreasValue(this)->~CSSGridTemplateAreasValue();
358 return; 387 return;
359 case PathClass: 388 case PathClass:
360 toCSSPathValue(this)->~CSSPathValue(); 389 toCSSPathValue(this)->~CSSPathValue();
361 return; 390 return;
362 case PrimitiveClass: 391 case PrimitiveClass:
363 toCSSPrimitiveValue(this)->~CSSPrimitiveValue(); 392 toCSSPrimitiveValue(this)->~CSSPrimitiveValue();
364 return; 393 return;
394 case IdentifierClass:
395 toCSSIdentifierValue(this)->~CSSIdentifierValue();
396 return;
365 case QuadClass: 397 case QuadClass:
366 toCSSQuadValue(this)->~CSSQuadValue(); 398 toCSSQuadValue(this)->~CSSQuadValue();
367 return; 399 return;
368 case ReflectClass: 400 case ReflectClass:
369 toCSSReflectValue(this)->~CSSReflectValue(); 401 toCSSReflectValue(this)->~CSSReflectValue();
370 return; 402 return;
371 case ShadowClass: 403 case ShadowClass:
372 toCSSShadowValue(this)->~CSSShadowValue(); 404 toCSSShadowValue(this)->~CSSShadowValue();
373 return; 405 return;
374 case StringClass: 406 case StringClass:
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
485 return; 517 return;
486 case GridTemplateAreasClass: 518 case GridTemplateAreasClass:
487 toCSSGridTemplateAreasValue(this)->traceAfterDispatch(visitor); 519 toCSSGridTemplateAreasValue(this)->traceAfterDispatch(visitor);
488 return; 520 return;
489 case PathClass: 521 case PathClass:
490 toCSSPathValue(this)->traceAfterDispatch(visitor); 522 toCSSPathValue(this)->traceAfterDispatch(visitor);
491 return; 523 return;
492 case PrimitiveClass: 524 case PrimitiveClass:
493 toCSSPrimitiveValue(this)->traceAfterDispatch(visitor); 525 toCSSPrimitiveValue(this)->traceAfterDispatch(visitor);
494 return; 526 return;
527 case IdentifierClass:
528 toCSSIdentifierValue(this)->traceAfterDispatch(visitor);
529 return;
495 case QuadClass: 530 case QuadClass:
496 toCSSQuadValue(this)->traceAfterDispatch(visitor); 531 toCSSQuadValue(this)->traceAfterDispatch(visitor);
497 return; 532 return;
498 case ReflectClass: 533 case ReflectClass:
499 toCSSReflectValue(this)->traceAfterDispatch(visitor); 534 toCSSReflectValue(this)->traceAfterDispatch(visitor);
500 return; 535 return;
501 case ShadowClass: 536 case ShadowClass:
502 toCSSShadowValue(this)->traceAfterDispatch(visitor); 537 toCSSShadowValue(this)->traceAfterDispatch(visitor);
503 return; 538 return;
504 case StringClass: 539 case StringClass:
(...skipping 30 matching lines...) Expand all
535 toCSSCustomPropertyDeclaration(this)->traceAfterDispatch(visitor); 570 toCSSCustomPropertyDeclaration(this)->traceAfterDispatch(visitor);
536 return; 571 return;
537 case PendingSubstitutionValueClass: 572 case PendingSubstitutionValueClass:
538 toCSSPendingSubstitutionValue(this)->traceAfterDispatch(visitor); 573 toCSSPendingSubstitutionValue(this)->traceAfterDispatch(visitor);
539 return; 574 return;
540 } 575 }
541 ASSERT_NOT_REACHED(); 576 ASSERT_NOT_REACHED();
542 } 577 }
543 578
544 } // namespace blink 579 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/CSSValue.h ('k') | third_party/WebKit/Source/core/css/CSSValuePool.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698