Index: Source/core/css/parser/CSSParserValues.h |
diff --git a/Source/core/css/parser/CSSParserValues.h b/Source/core/css/parser/CSSParserValues.h |
index 0b760f1c510c1c80821ddb17d9dfcf286d1e92d8..fd82beb53c48fde35e9be9f33e125b0b3bd80d11 100644 |
--- a/Source/core/css/parser/CSSParserValues.h |
+++ b/Source/core/css/parser/CSSParserValues.h |
@@ -26,13 +26,14 @@ |
#include "core/css/CSSSelector.h" |
#include "core/css/CSSValueList.h" |
#include "core/css/parser/CSSParserString.h" |
+#include "core/css/parser/CSSParserTokenRange.h" |
namespace blink { |
class QualifiedName; |
-class CSSParserTokenRange; |
struct CSSParserFunction; |
+struct CSSParserCalcFunction; |
class CSSParserValueList; |
struct CSSParserValue { |
@@ -43,6 +44,7 @@ struct CSSParserValue { |
int iValue; |
CSSParserString string; |
CSSParserFunction* function; |
+ CSSParserCalcFunction* calcFunction; |
CSSParserValueList* valueList; |
struct { |
UChar32 start; |
@@ -52,7 +54,8 @@ struct CSSParserValue { |
enum { |
Operator = 0x100000, |
Function = 0x100001, |
- ValueList = 0x100002, |
+ CalcFunction = 0x100002, |
+ ValueList = 0x100003, |
HexColor = 0x100004, |
// Represents a dimension by a list of two values, a CSS_NUMBER and an CSS_IDENT |
DimensionList = 0x100006, |
@@ -63,7 +66,6 @@ struct CSSParserValue { |
inline void setFromNumber(double value, int unit = CSSPrimitiveValue::CSS_NUMBER); |
inline void setFromOperator(UChar); |
- inline void setFromFunction(CSSParserFunction*); |
inline void setFromValueList(PassOwnPtr<CSSParserValueList>); |
}; |
@@ -114,6 +116,13 @@ public: |
OwnPtr<CSSParserValueList> args; |
}; |
+struct CSSParserCalcFunction { |
+ WTF_MAKE_FAST_ALLOCATED(CSSParserCalcFunction); |
+public: |
+ CSSParserCalcFunction(CSSParserTokenRange args_) : args(args_) {} |
+ CSSParserTokenRange args; |
+}; |
+ |
class CSSParserSelector { |
WTF_MAKE_NONCOPYABLE(CSSParserSelector); WTF_MAKE_FAST_ALLOCATED(CSSParserSelector); |
public: |
@@ -186,14 +195,6 @@ inline void CSSParserValue::setFromOperator(UChar c) |
isInt = false; |
} |
-inline void CSSParserValue::setFromFunction(CSSParserFunction* function) |
-{ |
- id = CSSValueInvalid; |
- this->function = function; |
- unit = Function; |
- isInt = false; |
-} |
- |
inline void CSSParserValue::setFromValueList(PassOwnPtr<CSSParserValueList> valueList) |
{ |
id = CSSValueInvalid; |