| Index: third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp b/third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp
|
| index a08e364af056ec5c36c4491fe21040611011e146..e761754a869145111728a33f8e79f20990c95bd4 100644
|
| --- a/third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp
|
| +++ b/third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp
|
| @@ -483,14 +483,14 @@ void CSSToStyleMap::mapNinePieceImage(StyleResolverState& state, CSSPropertyID p
|
| }
|
| }
|
|
|
| -static Length convertBorderImageSliceSide(const CSSPrimitiveValue& value)
|
| +static Length convertBorderImageSliceSide(const CSSPrimitiveValue& value, const CSSToLengthConversionData& conversionData)
|
| {
|
| - if (value.isPercentage())
|
| - return Length(value.getDoubleValue(), Percent);
|
| + if (value.isPercentage() || value.isCalculated())
|
| + return value.convertToLength(conversionData);
|
| return Length(round(value.getDoubleValue()), Fixed);
|
| }
|
|
|
| -void CSSToStyleMap::mapNinePieceImageSlice(StyleResolverState&, const CSSValue& value, NinePieceImage& image)
|
| +void CSSToStyleMap::mapNinePieceImageSlice(StyleResolverState& state, const CSSValue& value, NinePieceImage& image)
|
| {
|
| if (!value.isBorderImageSliceValue())
|
| return;
|
| @@ -501,10 +501,10 @@ void CSSToStyleMap::mapNinePieceImageSlice(StyleResolverState&, const CSSValue&
|
| // Set up a length box to represent our image slices.
|
| LengthBox box;
|
| const CSSQuadValue& slices = borderImageSlice.slices();
|
| - box.m_top = convertBorderImageSliceSide(*slices.top());
|
| - box.m_bottom = convertBorderImageSliceSide(*slices.bottom());
|
| - box.m_left = convertBorderImageSliceSide(*slices.left());
|
| - box.m_right = convertBorderImageSliceSide(*slices.right());
|
| + box.m_top = convertBorderImageSliceSide(*slices.top(), state.cssToLengthConversionData());
|
| + box.m_bottom = convertBorderImageSliceSide(*slices.bottom(), state.cssToLengthConversionData());
|
| + box.m_left = convertBorderImageSliceSide(*slices.left(), state.cssToLengthConversionData());
|
| + box.m_right = convertBorderImageSliceSide(*slices.right(), state.cssToLengthConversionData());
|
| image.setImageSlices(box);
|
|
|
| // Set our fill mode.
|
|
|