summaryrefslogtreecommitdiff
path: root/Source/WebCore/css/CSSCalculationValue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/css/CSSCalculationValue.cpp')
-rwxr-xr-xSource/WebCore/css/CSSCalculationValue.cpp28
1 files changed, 26 insertions, 2 deletions
diff --git a/Source/WebCore/css/CSSCalculationValue.cpp b/Source/WebCore/css/CSSCalculationValue.cpp
index 618c39c12..54247e035 100755
--- a/Source/WebCore/css/CSSCalculationValue.cpp
+++ b/Source/WebCore/css/CSSCalculationValue.cpp
@@ -74,7 +74,17 @@ static CalculationCategory unitCategory(CSSPrimitiveValue::UnitTypes type)
String CSSCalcValue::customCssText() const
{
- return "";
+ StringBuilder result;
+
+ result.append("-webkit-calc");
+ String expression = m_expression->customCssText();
+ bool expressionHasSingleTerm = expression[0] != '(';
+ if (expressionHasSingleTerm)
+ result.append('(');
+ result.append(expression);
+ if (expressionHasSingleTerm)
+ result.append(')');
+ return result.toString();
}
double CSSCalcValue::clampToPermittedRange(double value) const
@@ -109,7 +119,7 @@ public:
return !m_value->getDoubleValue();
}
- virtual String cssText() const
+ virtual String customCssText() const
{
return m_value->cssText();
}
@@ -250,6 +260,20 @@ public:
return evaluate(leftValue, rightValue);
}
+ virtual String customCssText() const
+ {
+ StringBuilder result;
+ result.append('(');
+ result.append(m_leftSide->customCssText());
+ result.append(' ');
+ result.append(static_cast<char>(m_operator));
+ result.append(' ');
+ result.append(m_rightSide->customCssText());
+ result.append(')');
+
+ return result.toString();
+ }
+
private:
CSSCalcBinaryOperation(PassRefPtr<CSSCalcExpressionNode> leftSide, PassRefPtr<CSSCalcExpressionNode> rightSide, CalcOperator op, CalculationCategory category)
: CSSCalcExpressionNode(category, leftSide->isInteger() && rightSide->isInteger())