Chromium Code Reviews| Index: third_party/WebKit/Source/core/css/cssom/LengthValue.cpp |
| diff --git a/third_party/WebKit/Source/core/css/cssom/LengthValue.cpp b/third_party/WebKit/Source/core/css/cssom/LengthValue.cpp |
| index 637f5076a9d7baa48b920d3c8836f105a2ee2146..155a70ad1e06d16047989182de98112a712b4577 100644 |
| --- a/third_party/WebKit/Source/core/css/cssom/LengthValue.cpp |
| +++ b/third_party/WebKit/Source/core/css/cssom/LengthValue.cpp |
| @@ -5,9 +5,12 @@ |
| #include "core/css/cssom/LengthValue.h" |
| #include "bindings/core/v8/ExceptionState.h" |
| +#include "core/css/CSSPrimitiveValue.h" |
| +#include "core/css/CSSToLengthConversionData.h" |
| #include "core/css/cssom/CalcDictionary.h" |
| #include "core/css/cssom/SimpleLength.h" |
| #include "core/css/cssom/StyleCalcLength.h" |
| +#include "core/style/ComputedStyle.h" |
| #include "wtf/HashMap.h" |
| namespace blink { |
| @@ -64,6 +67,22 @@ LengthValue* LengthValue::divide(double x, ExceptionState& exceptionState) |
| return divideInternal(x, exceptionState); |
| } |
| +double LengthValue::computeLengthPx(ExceptionState& exceptionState) const |
| +{ |
| + if (isRelative()) { |
| + exceptionState.throwTypeError("Cannot resolve a relative unit to a pixel value."); |
|
meade_UTC10
2016/02/11 00:56:30
Add a TODO to implement this?
tridgell
2016/02/12 04:22:27
Done.
|
| + return 0; |
| + } |
| + |
| + CSSValue* cssValue = toCSSValue(); |
| + CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(cssValue); |
| + ComputedStyle* computedStyle = const_cast<ComputedStyle*>(ComputedStyle::create().get()); |
| + CSSToLengthConversionData conversionData = CSSToLengthConversionData(computedStyle, |
| + CSSToLengthConversionData::FontSizes(), CSSToLengthConversionData::ViewportSize(), 1); |
| + |
| + return primitiveValue->CSSPrimitiveValue::computeLength<double>(conversionData); |
| +} |
| + |
| LengthValue* LengthValue::addInternal(const LengthValue*, ExceptionState&) |
| { |
| ASSERT_NOT_REACHED(); |