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

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

Issue 1858753003: Remove RawPtr from core/css (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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, 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 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 bool isPx() const { return typeWithCalcResolved() == UnitType::Pixels; } 193 bool isPx() const { return typeWithCalcResolved() == UnitType::Pixels; }
194 bool isTime() const { return type() == UnitType::Seconds || type() == UnitTy pe::Milliseconds; } 194 bool isTime() const { return type() == UnitType::Seconds || type() == UnitTy pe::Milliseconds; }
195 bool isCalculated() const { return type() == UnitType::Calc; } 195 bool isCalculated() const { return type() == UnitType::Calc; }
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 isResolution(UnitType type) { return type >= UnitType::DotsPerPi xel && type <= UnitType::DotsPerCentimeter; } 198 static bool isResolution(UnitType type) { return type >= UnitType::DotsPerPi xel && type <= UnitType::DotsPerCentimeter; }
199 bool isFlex() const { return typeWithCalcResolved() == UnitType::Fraction; } 199 bool isFlex() const { return typeWithCalcResolved() == UnitType::Fraction; }
200 bool isValueID() const { return type() == UnitType::ValueID; } 200 bool isValueID() const { return type() == UnitType::ValueID; }
201 bool colorIsDerivedFromElement() const; 201 bool colorIsDerivedFromElement() const;
202 202
203 static RawPtr<CSSPrimitiveValue> createIdentifier(CSSValueID valueID) 203 static CSSPrimitiveValue* createIdentifier(CSSValueID valueID)
204 { 204 {
205 return new CSSPrimitiveValue(valueID); 205 return new CSSPrimitiveValue(valueID);
206 } 206 }
207 static RawPtr<CSSPrimitiveValue> create(double value, UnitType type) 207 static CSSPrimitiveValue* create(double value, UnitType type)
208 { 208 {
209 return new CSSPrimitiveValue(value, type); 209 return new CSSPrimitiveValue(value, type);
210 } 210 }
211 static RawPtr<CSSPrimitiveValue> create(const Length& value, float zoom) 211 static CSSPrimitiveValue* create(const Length& value, float zoom)
212 { 212 {
213 return new CSSPrimitiveValue(value, zoom); 213 return new CSSPrimitiveValue(value, zoom);
214 } 214 }
215 template<typename T> static RawPtr<CSSPrimitiveValue> create(T value) 215 template<typename T> static CSSPrimitiveValue* create(T value)
216 { 216 {
217 static_assert(!std::is_same<T, CSSValueID>::value, "Do not call create() with a CSSValueID; call createIdentifier() instead"); 217 static_assert(!std::is_same<T, CSSValueID>::value, "Do not call create() with a CSSValueID; call createIdentifier() instead");
218 return new CSSPrimitiveValue(value); 218 return new CSSPrimitiveValue(value);
219 } 219 }
220 220
221 ~CSSPrimitiveValue(); 221 ~CSSPrimitiveValue();
222 222
223 UnitType typeWithCalcResolved() const; 223 UnitType typeWithCalcResolved() const;
224 224
225 double computeDegrees() const; 225 double computeDegrees() const;
(...skipping 29 matching lines...) Expand all
255 // Returns true and populates lengthUnitType, if unitType is a length unit. Otherwise, returns false. 255 // Returns true and populates lengthUnitType, if unitType is a length unit. Otherwise, returns false.
256 static bool unitTypeToLengthUnitType(UnitType, LengthUnitType&); 256 static bool unitTypeToLengthUnitType(UnitType, LengthUnitType&);
257 static UnitType lengthUnitTypeToUnitType(LengthUnitType); 257 static UnitType lengthUnitTypeToUnitType(LengthUnitType);
258 258
259 private: 259 private:
260 CSSPrimitiveValue(CSSValueID); 260 CSSPrimitiveValue(CSSValueID);
261 CSSPrimitiveValue(const Length&, float zoom); 261 CSSPrimitiveValue(const Length&, float zoom);
262 CSSPrimitiveValue(double, UnitType); 262 CSSPrimitiveValue(double, UnitType);
263 263
264 template<typename T> CSSPrimitiveValue(T); // Defined in CSSPrimitiveValueMa ppings.h 264 template<typename T> CSSPrimitiveValue(T); // Defined in CSSPrimitiveValueMa ppings.h
265
265 template<typename T> CSSPrimitiveValue(T* val) 266 template<typename T> CSSPrimitiveValue(T* val)
266 : CSSValue(PrimitiveClass) 267 : CSSValue(PrimitiveClass)
267 { 268 {
268 init(RawPtr<T>(val));
269 }
270
271 template<typename T> CSSPrimitiveValue(RawPtr<T> val)
272 : CSSValue(PrimitiveClass)
273 {
274 init(val); 269 init(val);
275 } 270 }
276 271
277 static void create(int); // compile-time guard 272 static void create(int); // compile-time guard
278 static void create(unsigned); // compile-time guard 273 static void create(unsigned); // compile-time guard
279 template<typename T> operator T*(); // compile-time guard 274 template<typename T> operator T*(); // compile-time guard
280 275
281 void init(UnitType); 276 void init(UnitType);
282 void init(const Length&); 277 void init(const Length&);
283 void init(RawPtr<CSSCalcValue>); 278 void init(CSSCalcValue*);
284 279
285 double computeLengthDouble(const CSSToLengthConversionData&) const; 280 double computeLengthDouble(const CSSToLengthConversionData&) const;
286 281
287 inline UnitType type() const { return static_cast<UnitType>(m_primitiveUnitT ype); } 282 inline UnitType type() const { return static_cast<UnitType>(m_primitiveUnitT ype); }
288 283
289 union { 284 union {
290 CSSValueID valueID; 285 CSSValueID valueID;
291 double num; 286 double num;
292 // FIXME: oilpan: Should be a member, but no support for members in unio ns. Just trace the raw ptr for now. 287 // FIXME: oilpan: Should be a member, but no support for members in unio ns. Just trace the raw ptr for now.
293 CSSCalcValue* calc; 288 CSSCalcValue* calc;
294 } m_value; 289 } m_value;
295 }; 290 };
296 291
297 using CSSLengthArray = CSSPrimitiveValue::CSSLengthArray; 292 using CSSLengthArray = CSSPrimitiveValue::CSSLengthArray;
298 using CSSLengthTypeArray = CSSPrimitiveValue::CSSLengthTypeArray; 293 using CSSLengthTypeArray = CSSPrimitiveValue::CSSLengthTypeArray;
299 294
300 DEFINE_CSS_VALUE_TYPE_CASTS(CSSPrimitiveValue, isPrimitiveValue()); 295 DEFINE_CSS_VALUE_TYPE_CASTS(CSSPrimitiveValue, isPrimitiveValue());
301 296
302 } // namespace blink 297 } // namespace blink
303 298
304 #endif // CSSPrimitiveValue_h 299 #endif // CSSPrimitiveValue_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/CSSPathValue.cpp ('k') | third_party/WebKit/Source/core/css/CSSPrimitiveValue.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698