diff options
Diffstat (limited to 'Source/WebCore/css/CSSParser.cpp')
| -rw-r--r-- | Source/WebCore/css/CSSParser.cpp | 23 | 
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; | 
