summaryrefslogtreecommitdiff
path: root/Source/WebCore/css/CSSParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/css/CSSParser.cpp')
-rw-r--r--Source/WebCore/css/CSSParser.cpp23
1 files changed, 16 insertions, 7 deletions
diff --git a/Source/WebCore/css/CSSParser.cpp b/Source/WebCore/css/CSSParser.cpp
index 54fd5e238..99ee8043a 100644
--- a/Source/WebCore/css/CSSParser.cpp
+++ b/Source/WebCore/css/CSSParser.cpp
@@ -1609,6 +1609,13 @@ bool CSSParser::validCalculationUnit(CSSParserValue* value, Units unitflags, Rel
bool b = false;
switch (m_parsedCalculation->category()) {
+ case CalcNumber:
+ b = (unitflags & FNumber);
+ if (!b && (unitflags & FInteger) && m_parsedCalculation->isInt())
+ b = true;
+ if (b && mustBeNonNegative && m_parsedCalculation->isNegative())
+ b = false;
+ break;
case CalcLength:
b = (unitflags & FLength);
break;
@@ -1617,19 +1624,21 @@ bool CSSParser::validCalculationUnit(CSSParserValue* value, Units unitflags, Rel
if (b && mustBeNonNegative && m_parsedCalculation->isNegative())
b = false;
break;
- case CalcNumber:
- b = (unitflags & FNumber);
- if (!b && (unitflags & FInteger) && m_parsedCalculation->isInt())
- b = true;
- if (b && mustBeNonNegative && m_parsedCalculation->isNegative())
- b = false;
- break;
case CalcPercentLength:
b = (unitflags & FPercent) && (unitflags & FLength);
break;
case CalcPercentNumber:
b = (unitflags & FPercent) && (unitflags & FNumber);
break;
+ case CalcAngle:
+ b = (unitflags & FAngle);
+ break;
+ case CalcTime:
+ b = (unitflags & FTime);
+ break;
+ case CalcFrequency:
+ b = (unitflags & FFrequency);
+ break;
#if ENABLE(CSS_VARIABLES)
case CalcVariable:
b = true;