summaryrefslogtreecommitdiff
path: root/Source/WebCore/css/CSSCalculationValue.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-06-01 10:36:58 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-06-01 10:36:58 +0200
commitb1e9e47fa11f608ae16bc07f97a2acf95bf80272 (patch)
treec88c45e80c9c44506e7cdf9a3bb39ebf82a8cd5b /Source/WebCore/css/CSSCalculationValue.cpp
parentbe01689f43cf6882cf670d33df49ead1f570c53a (diff)
downloadqtwebkit-b1e9e47fa11f608ae16bc07f97a2acf95bf80272.tar.gz
Imported WebKit commit 499c84c99aa98e9870fa7eaa57db476c6d160d46 (http://svn.webkit.org/repository/webkit/trunk@119200)
Weekly update :). Particularly relevant changes for Qt are the use of the WebCore image decoders and direct usage of libpng/libjpeg if available in the system.
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())