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

Unified Diff: Source/core/css/parser/CSSParserValues.h

Issue 1239983004: Make CSSCalcValue work with CSSParserTokenRange (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix calcFunction deletion Created 5 years, 5 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/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;

Powered by Google App Engine
This is Rietveld 408576698