diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-01 10:36:58 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-01 10:36:58 +0200 |
commit | b1e9e47fa11f608ae16bc07f97a2acf95bf80272 (patch) | |
tree | c88c45e80c9c44506e7cdf9a3bb39ebf82a8cd5b /Source/WebCore/css/CSSCalculationValue.cpp | |
parent | be01689f43cf6882cf670d33df49ead1f570c53a (diff) | |
download | qtwebkit-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-x | Source/WebCore/css/CSSCalculationValue.cpp | 28 |
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()) |