Index: third_party/WebKit/Source/core/css/CSSCalculationValue.cpp |
diff --git a/third_party/WebKit/Source/core/css/CSSCalculationValue.cpp b/third_party/WebKit/Source/core/css/CSSCalculationValue.cpp |
index 8020556cc20db8a1ae541be5f3c5271cfe34a30d..b9b505df679ab0bf8a83b83b19d4f675a741b697 100644 |
--- a/third_party/WebKit/Source/core/css/CSSCalculationValue.cpp |
+++ b/third_party/WebKit/Source/core/css/CSSCalculationValue.cpp |
@@ -198,6 +198,9 @@ public: |
void accumulatePixelsAndPercent(const CSSToLengthConversionData& conversionData, PixelsAndPercent& value, float multiplier) const override |
{ |
switch (m_category) { |
+ case CalcNumber: |
+ value.pixels += m_value->getFloatValue() * multiplier; |
+ break; |
case CalcLength: |
value.pixels += m_value->computeLength<float>(conversionData) * multiplier; |
break; |
@@ -719,10 +722,10 @@ CSSCalcExpressionNode* CSSCalcValue::createExpressionNode(CSSCalcExpressionNode* |
return CSSCalcBinaryOperation::create(leftSide, rightSide, op); |
} |
-CSSCalcExpressionNode* CSSCalcValue::createExpressionNode(double pixels, double percent) |
+CSSCalcExpressionNode* CSSCalcValue::createExpressionNode(double pixels, double percent, bool unitless) |
{ |
return createExpressionNode( |
- createExpressionNode(CSSPrimitiveValue::create(pixels, CSSPrimitiveValue::UnitType::Pixels), pixels == trunc(pixels)), |
+ createExpressionNode(CSSPrimitiveValue::create(pixels, unitless ? CSSPrimitiveValue::UnitType::Number : CSSPrimitiveValue::UnitType::Pixels), pixels == trunc(pixels)), |
createExpressionNode(CSSPrimitiveValue::create(percent, CSSPrimitiveValue::UnitType::Percentage), percent == trunc(percent)), |
CalcAdd); |
} |