Index: Source/core/css/CSSPrimitiveValue.h |
diff --git a/Source/core/css/CSSPrimitiveValue.h b/Source/core/css/CSSPrimitiveValue.h |
index 7ed725f032aa6b89b92a36b767b22efb52ddd789..0bbd4c22d986c9f85f5149120e7f13c55485ca44 100644 |
--- a/Source/core/css/CSSPrimitiveValue.h |
+++ b/Source/core/css/CSSPrimitiveValue.h |
@@ -38,6 +38,7 @@ namespace blink { |
class CSSBasicShape; |
class CSSCalcValue; |
class CSSToLengthConversionData; |
+class CSSVariableData; |
class Counter; |
class Length; |
class LengthSize; |
@@ -118,7 +119,8 @@ public: |
CSS_STRING = 116, |
CSS_PROPERTY_ID = 117, |
CSS_VALUE_ID = 118, |
- CSS_QEM = 119 |
+ CSS_QEM = 119, |
+ CSS_VARIABLE_REFERENCE = 120 |
}; |
enum LengthUnitType { |
@@ -177,6 +179,7 @@ public: |
|| m_primitiveUnitType == CSS_REMS |
|| m_primitiveUnitType == CSS_CHS; |
} |
+ bool isVariableReference() const { return primitiveType() == CSS_VARIABLE_REFERENCE; } |
bool isViewportPercentageLength() const { return isViewportPercentageLength(static_cast<UnitType>(m_primitiveUnitType)); } |
static bool isViewportPercentageLength(UnitType type) { return type >= CSS_VW && type <= CSS_VMAX; } |
static bool isLength(UnitType type) |
@@ -232,6 +235,10 @@ public: |
{ |
return adoptRefWillBeNoop(new CSSPrimitiveValue(value, style)); |
} |
+ static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> create(CSSVariableData* value) |
+ { |
+ return adoptRefWillBeNoop(new CSSPrimitiveValue(value)); |
+ } |
template<typename T> static PassRefPtrWillBeRawPtr<CSSPrimitiveValue> create(T value) |
{ |
return adoptRefWillBeNoop(new CSSPrimitiveValue(value)); |
@@ -284,6 +291,8 @@ public: |
CSSCalcValue* cssCalcValue() const { return m_primitiveUnitType != CSS_CALC ? 0 : m_value.calc; } |
+ CSSVariableData* getVariableDataValue() const { return m_primitiveUnitType != CSS_VARIABLE_REFERENCE ? 0 : m_value.variableData; } |
+ |
CSSPropertyID getPropertyID() const { return m_primitiveUnitType == CSS_PROPERTY_ID ? m_value.propertyID : CSSPropertyInvalid; } |
CSSValueID getValueID() const { return m_primitiveUnitType == CSS_VALUE_ID ? m_value.valueID : CSSValueInvalid; } |
@@ -313,6 +322,7 @@ private: |
CSSPrimitiveValue(const LengthSize&, const ComputedStyle&); |
CSSPrimitiveValue(const String&, UnitType); |
CSSPrimitiveValue(double, UnitType); |
+ CSSPrimitiveValue(CSSVariableData*); |
template<typename T> CSSPrimitiveValue(T); // Defined in CSSPrimitiveValueMappings.h |
template<typename T> CSSPrimitiveValue(T* val) |
@@ -355,6 +365,7 @@ private: |
Pair* pair; |
Rect* rect; |
Quad* quad; |
+ CSSVariableData* variableData; |
} m_value; |
}; |