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

Unified Diff: Source/core/css/CSSPrimitiveValue.h

Issue 1192983003: CSS Custom Properties (Variables) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Remove unnecessary enum Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
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;
};

Powered by Google App Engine
This is Rietveld 408576698