OLD | NEW |
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 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 { | 192 { |
193 unsigned short type = primitiveType(); | 193 unsigned short type = primitiveType(); |
194 return type >= CSS_DPPX && type <= CSS_DPCM; | 194 return type >= CSS_DPPX && type <= CSS_DPCM; |
195 } | 195 } |
196 bool isVariableReference() const { return primitiveType() == CSS_VARIABLE_RE
FERENCE; } | 196 bool isVariableReference() const { return primitiveType() == CSS_VARIABLE_RE
FERENCE; } |
197 bool isViewportPercentageLength() const { return m_primitiveUnitType >= CSS_
VW && m_primitiveUnitType <= CSS_VMAX; } | 197 bool isViewportPercentageLength() const { return m_primitiveUnitType >= CSS_
VW && m_primitiveUnitType <= CSS_VMAX; } |
198 bool isFlex() const { return primitiveType() == CSS_FR; } | 198 bool isFlex() const { return primitiveType() == CSS_FR; } |
199 bool isValueID() const { return m_primitiveUnitType == CSS_VALUE_ID; } | 199 bool isValueID() const { return m_primitiveUnitType == CSS_VALUE_ID; } |
200 bool colorIsDerivedFromElement() const; | 200 bool colorIsDerivedFromElement() const; |
201 | 201 |
202 static PassRefPtr<CSSPrimitiveValue> createIdentifier(CSSValueID valueID) {
return adoptRef(new CSSPrimitiveValue(valueID)); } | 202 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createIdentifier(CSSValueID
valueID) |
203 static PassRefPtr<CSSPrimitiveValue> createIdentifier(CSSPropertyID property
ID) { return adoptRef(new CSSPrimitiveValue(propertyID)); } | |
204 static PassRefPtr<CSSPrimitiveValue> createParserOperator(int parserOperator
) { return adoptRef(new CSSPrimitiveValue(parserOperator)); } | |
205 static PassRefPtr<CSSPrimitiveValue> createColor(unsigned rgbValue) { return
adoptRef(new CSSPrimitiveValue(rgbValue)); } | |
206 static PassRefPtr<CSSPrimitiveValue> create(double value, UnitTypes type) {
return adoptRef(new CSSPrimitiveValue(value, type)); } | |
207 static PassRefPtr<CSSPrimitiveValue> create(const String& value, UnitTypes t
ype) { return adoptRef(new CSSPrimitiveValue(value, type)); } | |
208 static PassRefPtr<CSSPrimitiveValue> create(const Length& value, float zoom)
{ return adoptRef(new CSSPrimitiveValue(value, zoom)); } | |
209 static PassRefPtr<CSSPrimitiveValue> create(const LengthSize& value) { retur
n adoptRef(new CSSPrimitiveValue(value)); } | |
210 | |
211 template<typename T> static PassRefPtr<CSSPrimitiveValue> create(T value) | |
212 { | 203 { |
213 return adoptRef(new CSSPrimitiveValue(value)); | 204 return adoptRefCountedWillBeRefCountedGarbageCollected(new CSSPrimitiveV
alue(valueID)); |
| 205 } |
| 206 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createIdentifier(CSSPropert
yID propertyID) |
| 207 { |
| 208 return adoptRefCountedWillBeRefCountedGarbageCollected(new CSSPrimitiveV
alue(propertyID)); |
| 209 } |
| 210 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createParserOperator(int pa
rserOperator) |
| 211 { |
| 212 return adoptRefCountedWillBeRefCountedGarbageCollected(new CSSPrimitiveV
alue(parserOperator)); |
| 213 } |
| 214 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createColor(unsigned rgbVal
ue) |
| 215 { |
| 216 return adoptRefCountedWillBeRefCountedGarbageCollected(new CSSPrimitiveV
alue(rgbValue)); |
| 217 } |
| 218 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> create(double value, UnitTy
pes type) |
| 219 { |
| 220 return adoptRefCountedWillBeRefCountedGarbageCollected(new CSSPrimitiveV
alue(value, type)); |
| 221 } |
| 222 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> create(const String& value,
UnitTypes type) |
| 223 { |
| 224 return adoptRefCountedWillBeRefCountedGarbageCollected(new CSSPrimitiveV
alue(value, type)); |
| 225 } |
| 226 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> create(const Length& value,
float zoom) |
| 227 { |
| 228 return adoptRefCountedWillBeRefCountedGarbageCollected(new CSSPrimitiveV
alue(value, zoom)); |
| 229 } |
| 230 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> create(const LengthSize& va
lue) |
| 231 { |
| 232 return adoptRefCountedWillBeRefCountedGarbageCollected(new CSSPrimitiveV
alue(value)); |
| 233 } |
| 234 template<typename T> static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> create
(T value) |
| 235 { |
| 236 return adoptRefCountedWillBeRefCountedGarbageCollected(new CSSPrimitiveV
alue(value)); |
214 } | 237 } |
215 | 238 |
216 // This value is used to handle quirky margins in reflow roots (body, td, an
d th) like WinIE. | 239 // This value is used to handle quirky margins in reflow roots (body, td, an
d th) like WinIE. |
217 // The basic idea is that a stylesheet can use the value __qem (for quirky e
m) instead of em. | 240 // The basic idea is that a stylesheet can use the value __qem (for quirky e
m) instead of em. |
218 // When the quirky value is used, if you're in quirks mode, the margin will
collapse away | 241 // When the quirky value is used, if you're in quirks mode, the margin will
collapse away |
219 // inside a table cell. | 242 // inside a table cell. |
220 static PassRefPtr<CSSPrimitiveValue> createAllowingMarginQuirk(double value,
UnitTypes type) | 243 static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> createAllowingMarginQuirk(d
ouble value, UnitTypes type) |
221 { | 244 { |
222 CSSPrimitiveValue* quirkValue = new CSSPrimitiveValue(value, type); | 245 CSSPrimitiveValue* quirkValue = new CSSPrimitiveValue(value, type); |
223 quirkValue->m_isQuirkValue = true; | 246 quirkValue->m_isQuirkValue = true; |
224 return adoptRef(quirkValue); | 247 return adoptRefCountedWillBeRefCountedGarbageCollected(quirkValue); |
225 } | 248 } |
226 | 249 |
227 ~CSSPrimitiveValue(); | 250 ~CSSPrimitiveValue(); |
228 | 251 |
229 void cleanup(); | 252 void cleanup(); |
230 | 253 |
231 unsigned short primitiveType() const; | 254 unsigned short primitiveType() const; |
232 | 255 |
233 double computeDegrees(); | 256 double computeDegrees(); |
234 | 257 |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
308 CSSValueID getValueID() const { return m_primitiveUnitType == CSS_VALUE_ID ?
m_value.valueID : CSSValueInvalid; } | 331 CSSValueID getValueID() const { return m_primitiveUnitType == CSS_VALUE_ID ?
m_value.valueID : CSSValueInvalid; } |
309 | 332 |
310 template<typename T> inline operator T() const; // Defined in CSSPrimitiveVa
lueMappings.h | 333 template<typename T> inline operator T() const; // Defined in CSSPrimitiveVa
lueMappings.h |
311 | 334 |
312 String customCSSText(CSSTextFormattingFlags = QuoteCSSStringIfNeeded) const; | 335 String customCSSText(CSSTextFormattingFlags = QuoteCSSStringIfNeeded) const; |
313 String customSerializeResolvingVariables(const HashMap<AtomicString, String>
&) const; | 336 String customSerializeResolvingVariables(const HashMap<AtomicString, String>
&) const; |
314 bool hasVariableReference() const; | 337 bool hasVariableReference() const; |
315 | 338 |
316 bool isQuirkValue() { return m_isQuirkValue; } | 339 bool isQuirkValue() { return m_isQuirkValue; } |
317 | 340 |
318 PassRefPtr<CSSPrimitiveValue> cloneForCSSOM() const; | 341 PassRefPtrWillBeRawPtr<CSSPrimitiveValue> cloneForCSSOM() const; |
319 void setCSSOMSafe() { m_isCSSOMSafe = true; } | 342 void setCSSOMSafe() { m_isCSSOMSafe = true; } |
320 | 343 |
321 bool equals(const CSSPrimitiveValue&) const; | 344 bool equals(const CSSPrimitiveValue&) const; |
322 | 345 |
323 void traceAfterDispatch(Visitor*); | 346 void traceAfterDispatch(Visitor*); |
324 | 347 |
325 static UnitTypes canonicalUnitTypeForCategory(UnitCategory); | 348 static UnitTypes canonicalUnitTypeForCategory(UnitCategory); |
326 static double conversionToCanonicalUnitsScaleFactor(unsigned short unitType)
; | 349 static double conversionToCanonicalUnitsScaleFactor(unsigned short unitType)
; |
327 | 350 |
328 private: | 351 private: |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
390 // FIXME: oilpan: Should be a member, but no support for members in unio
ns. Just trace the raw ptr for now. | 413 // FIXME: oilpan: Should be a member, but no support for members in unio
ns. Just trace the raw ptr for now. |
391 CSSCalcValue* calc; | 414 CSSCalcValue* calc; |
392 } m_value; | 415 } m_value; |
393 }; | 416 }; |
394 | 417 |
395 DEFINE_CSS_VALUE_TYPE_CASTS(CSSPrimitiveValue, isPrimitiveValue()); | 418 DEFINE_CSS_VALUE_TYPE_CASTS(CSSPrimitiveValue, isPrimitiveValue()); |
396 | 419 |
397 } // namespace WebCore | 420 } // namespace WebCore |
398 | 421 |
399 #endif // CSSPrimitiveValue_h | 422 #endif // CSSPrimitiveValue_h |
OLD | NEW |