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

Side by Side Diff: Source/core/css/CSSPrimitiveValue.h

Issue 1303173007: Oilpan: Unship Oilpan from CSSValues Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/css/CSSPathValue.cpp ('k') | Source/core/css/CSSPrimitiveValue.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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, 2008 Apple Inc. All rights reserved. 3 * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved.
4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 bool isCalculatedPercentageWithNumber() const { return typeWithCalcResolved( ) == UnitType::CalcPercentageWithNumber; } 196 bool isCalculatedPercentageWithNumber() const { return typeWithCalcResolved( ) == UnitType::CalcPercentageWithNumber; }
197 bool isCalculatedPercentageWithLength() const { return typeWithCalcResolved( ) == UnitType::CalcPercentageWithLength; } 197 bool isCalculatedPercentageWithLength() const { return typeWithCalcResolved( ) == UnitType::CalcPercentageWithLength; }
198 static bool isDotsPerInch(UnitType type) { return type == UnitType::DotsPerI nch; } 198 static bool isDotsPerInch(UnitType type) { return type == UnitType::DotsPerI nch; }
199 static bool isDotsPerPixel(UnitType type) { return type == UnitType::DotsPer Pixel; } 199 static bool isDotsPerPixel(UnitType type) { return type == UnitType::DotsPer Pixel; }
200 static bool isDotsPerCentimeter(UnitType type) { return type == UnitType::Do tsPerCentimeter; } 200 static bool isDotsPerCentimeter(UnitType type) { return type == UnitType::Do tsPerCentimeter; }
201 static bool isResolution(UnitType type) { return type >= UnitType::DotsPerPi xel && type <= UnitType::DotsPerCentimeter; } 201 static bool isResolution(UnitType type) { return type >= UnitType::DotsPerPi xel && type <= UnitType::DotsPerCentimeter; }
202 bool isFlex() const { return typeWithCalcResolved() == UnitType::Fraction; } 202 bool isFlex() const { return typeWithCalcResolved() == UnitType::Fraction; }
203 bool isValueID() const { return type() == UnitType::ValueID; } 203 bool isValueID() const { return type() == UnitType::ValueID; }
204 bool colorIsDerivedFromElement() const; 204 bool colorIsDerivedFromElement() const;
205 205
206 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createIdentifier(CSSValueID valueID) 206 static PassRefPtr<CSSPrimitiveValue> createIdentifier(CSSValueID valueID)
207 { 207 {
208 return adoptRefWillBeNoop(new CSSPrimitiveValue(valueID)); 208 return adoptRef(new CSSPrimitiveValue(valueID));
209 } 209 }
210 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createIdentifier(CSSPropert yID propertyID) 210 static PassRefPtr<CSSPrimitiveValue> createIdentifier(CSSPropertyID property ID)
211 { 211 {
212 return adoptRefWillBeNoop(new CSSPrimitiveValue(propertyID)); 212 return adoptRef(new CSSPrimitiveValue(propertyID));
213 } 213 }
214 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createColor(RGBA32 rgbValue ) 214 static PassRefPtr<CSSPrimitiveValue> createColor(RGBA32 rgbValue)
215 { 215 {
216 return adoptRefWillBeNoop(new CSSPrimitiveValue(rgbValue)); 216 return adoptRef(new CSSPrimitiveValue(rgbValue));
217 } 217 }
218 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> create(double value, UnitTy pe type) 218 static PassRefPtr<CSSPrimitiveValue> create(double value, UnitType type)
219 { 219 {
220 return adoptRefWillBeNoop(new CSSPrimitiveValue(value, type)); 220 return adoptRef(new CSSPrimitiveValue(value, type));
221 } 221 }
222 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> create(const String& value, UnitType type) 222 static PassRefPtr<CSSPrimitiveValue> create(const String& value, UnitType ty pe)
223 { 223 {
224 return adoptRefWillBeNoop(new CSSPrimitiveValue(value, type)); 224 return adoptRef(new CSSPrimitiveValue(value, type));
225 } 225 }
226 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> create(const Length& value, float zoom) 226 static PassRefPtr<CSSPrimitiveValue> create(const Length& value, float zoom)
227 { 227 {
228 return adoptRefWillBeNoop(new CSSPrimitiveValue(value, zoom)); 228 return adoptRef(new CSSPrimitiveValue(value, zoom));
229 } 229 }
230 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> create(const LengthSize& va lue, const ComputedStyle& style) 230 static PassRefPtr<CSSPrimitiveValue> create(const LengthSize& value, const C omputedStyle& style)
231 { 231 {
232 return adoptRefWillBeNoop(new CSSPrimitiveValue(value, style)); 232 return adoptRef(new CSSPrimitiveValue(value, style));
233 } 233 }
234 template<typename T> static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> create (T value) 234 template<typename T> static PassRefPtr<CSSPrimitiveValue> create(T value)
235 { 235 {
236 return adoptRefWillBeNoop(new CSSPrimitiveValue(value)); 236 return adoptRef(new CSSPrimitiveValue(value));
237 }
238 template<typename T> static PassRefPtr<CSSPrimitiveValue> create(PassRefPtr< T> value)
239 {
240 return adoptRef(new CSSPrimitiveValue(value.get()));
237 } 241 }
238 242
239 // This value is used to handle quirky margins in reflow roots (body, td, an d th) like WinIE. 243 // This value is used to handle quirky margins in reflow roots (body, td, an d th) like WinIE.
240 // The basic idea is that a stylesheet can use the value __qem (for quirky e m) instead of em. 244 // The basic idea is that a stylesheet can use the value __qem (for quirky e m) instead of em.
241 // When the quirky value is used, if you're in quirks mode, the margin will collapse away 245 // When the quirky value is used, if you're in quirks mode, the margin will collapse away
242 // inside a table cell. 246 // inside a table cell.
243 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createAllowingMarginQuirk(d ouble value, UnitType type) 247 static PassRefPtr<CSSPrimitiveValue> createAllowingMarginQuirk(double value, UnitType type)
244 { 248 {
245 CSSPrimitiveValue* quirkValue = new CSSPrimitiveValue(value, type); 249 CSSPrimitiveValue* quirkValue = new CSSPrimitiveValue(value, type);
246 quirkValue->m_isQuirkValue = true; 250 quirkValue->m_isQuirkValue = true;
247 return adoptRefWillBeNoop(quirkValue); 251 return adoptRef(quirkValue);
248 } 252 }
249 253
250 ~CSSPrimitiveValue(); 254 ~CSSPrimitiveValue();
251 255
252 void cleanup(); 256 void cleanup();
253 257
254 UnitType typeWithCalcResolved() const; 258 UnitType typeWithCalcResolved() const;
255 259
256 double computeDegrees() const; 260 double computeDegrees() const;
257 double computeSeconds() const; 261 double computeSeconds() const;
(...skipping 26 matching lines...) Expand all
284 288
285 template<typename T> inline operator T() const; // Defined in CSSPrimitiveVa lueMappings.h 289 template<typename T> inline operator T() const; // Defined in CSSPrimitiveVa lueMappings.h
286 290
287 static const char* unitTypeToString(UnitType); 291 static const char* unitTypeToString(UnitType);
288 String customCSSText() const; 292 String customCSSText() const;
289 293
290 bool isQuirkValue() const { return m_isQuirkValue; } 294 bool isQuirkValue() const { return m_isQuirkValue; }
291 295
292 bool equals(const CSSPrimitiveValue&) const; 296 bool equals(const CSSPrimitiveValue&) const;
293 297
294 DECLARE_TRACE_AFTER_DISPATCH();
295
296 static UnitType canonicalUnitTypeForCategory(UnitCategory); 298 static UnitType canonicalUnitTypeForCategory(UnitCategory);
297 static double conversionToCanonicalUnitsScaleFactor(UnitType); 299 static double conversionToCanonicalUnitsScaleFactor(UnitType);
298 300
299 // Returns true and populates lengthUnitType, if unitType is a length unit. Otherwise, returns false. 301 // Returns true and populates lengthUnitType, if unitType is a length unit. Otherwise, returns false.
300 static bool unitTypeToLengthUnitType(UnitType, LengthUnitType&); 302 static bool unitTypeToLengthUnitType(UnitType, LengthUnitType&);
301 static UnitType lengthUnitTypeToUnitType(LengthUnitType); 303 static UnitType lengthUnitTypeToUnitType(LengthUnitType);
302 304
303 private: 305 private:
304 CSSPrimitiveValue(CSSValueID); 306 CSSPrimitiveValue(CSSValueID);
305 CSSPrimitiveValue(CSSPropertyID); 307 CSSPrimitiveValue(CSSPropertyID);
(...skipping 16 matching lines...) Expand all
322 init(val); 324 init(val);
323 } 325 }
324 326
325 static void create(int); // compile-time guard 327 static void create(int); // compile-time guard
326 static void create(unsigned); // compile-time guard 328 static void create(unsigned); // compile-time guard
327 template<typename T> operator T*(); // compile-time guard 329 template<typename T> operator T*(); // compile-time guard
328 330
329 void init(UnitType); 331 void init(UnitType);
330 void init(const Length&); 332 void init(const Length&);
331 void init(const LengthSize&, const ComputedStyle&); 333 void init(const LengthSize&, const ComputedStyle&);
332 void init(PassRefPtrWillBeRawPtr<Rect>); 334 void init(PassRefPtr<Rect>);
333 void init(PassRefPtrWillBeRawPtr<Pair>); 335 void init(PassRefPtr<Pair>);
334 void init(PassRefPtrWillBeRawPtr<Quad>); 336 void init(PassRefPtr<Quad>);
335 void init(PassRefPtrWillBeRawPtr<CSSBasicShape>); 337 void init(PassRefPtr<CSSBasicShape>);
336 void init(PassRefPtrWillBeRawPtr<CSSCalcValue>); 338 void init(PassRefPtr<CSSCalcValue>);
337 339
338 double computeLengthDouble(const CSSToLengthConversionData&) const; 340 double computeLengthDouble(const CSSToLengthConversionData&) const;
339 341
340 inline UnitType type() const { return static_cast<UnitType>(m_primitiveUnitT ype); } 342 inline UnitType type() const { return static_cast<UnitType>(m_primitiveUnitT ype); }
341 343
342 union { 344 union {
343 CSSPropertyID propertyID; 345 CSSPropertyID propertyID;
344 CSSValueID valueID; 346 CSSValueID valueID;
345 double num; 347 double num;
346 StringImpl* string; 348 StringImpl* string;
347 RGBA32 rgbcolor; 349 RGBA32 rgbcolor;
348 // FIXME: oilpan: Should be members, but no support for members in union s. Just trace the raw ptr for now. 350 // FIXME: oilpan: Should be members, but no support for members in union s. Just trace the raw ptr for now.
349 CSSBasicShape* shape; 351 CSSBasicShape* shape;
350 CSSCalcValue* calc; 352 CSSCalcValue* calc;
351 Pair* pair; 353 Pair* pair;
352 Rect* rect; 354 Rect* rect;
353 Quad* quad; 355 Quad* quad;
354 } m_value; 356 } m_value;
355 }; 357 };
356 358
357 typedef CSSPrimitiveValue::CSSLengthArray CSSLengthArray; 359 typedef CSSPrimitiveValue::CSSLengthArray CSSLengthArray;
358 typedef CSSPrimitiveValue::CSSLengthTypeArray CSSLengthTypeArray; 360 typedef CSSPrimitiveValue::CSSLengthTypeArray CSSLengthTypeArray;
359 361
360 DEFINE_CSS_VALUE_TYPE_CASTS(CSSPrimitiveValue, isPrimitiveValue()); 362 DEFINE_CSS_VALUE_TYPE_CASTS(CSSPrimitiveValue, isPrimitiveValue());
361 363
362 } // namespace blink 364 } // namespace blink
363 365
364 #endif // CSSPrimitiveValue_h 366 #endif // CSSPrimitiveValue_h
OLDNEW
« no previous file with comments | « Source/core/css/CSSPathValue.cpp ('k') | Source/core/css/CSSPrimitiveValue.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698