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(); |