| 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;
|
| };
|
|
|
|
|