Index: third_party/WebKit/Source/core/layout/shapes/ShapeOutsideInfo.cpp |
diff --git a/third_party/WebKit/Source/core/layout/shapes/ShapeOutsideInfo.cpp b/third_party/WebKit/Source/core/layout/shapes/ShapeOutsideInfo.cpp |
index b550ab161bc6762a2aff0696dc132c8cc3cc5e50..87136d48b360e8c66308165534331c8efb9ffa99 100644 |
--- a/third_party/WebKit/Source/core/layout/shapes/ShapeOutsideInfo.cpp |
+++ b/third_party/WebKit/Source/core/layout/shapes/ShapeOutsideInfo.cpp |
@@ -121,8 +121,12 @@ static bool isValidRasterShapeRect(const LayoutRect& rect) |
PassOwnPtr<Shape> ShapeOutsideInfo::createShapeForImage(StyleImage* styleImage, float shapeImageThreshold, WritingMode writingMode, float margin) const |
{ |
- const LayoutSize& imageSize = m_layoutBox.calculateImageIntrinsicDimensions(styleImage, m_referenceBoxLogicalSize, LayoutImage::ScaleByEffectiveZoom); |
+ float effectiveZoom = m_layoutBox.style()->effectiveZoom(); |
+ LayoutSize defaultObjectSize(m_referenceBoxLogicalSize); |
+ defaultObjectSize.scale(1 / effectiveZoom); |
+ styleImage->updateConcreteObjectSize(defaultObjectSize); |
+ const LayoutSize& imageSize = styleImage->imageSize(&m_layoutBox, effectiveZoom); |
const LayoutRect& marginRect = getShapeImageMarginRect(m_layoutBox, m_referenceBoxLogicalSize); |
const LayoutRect& imageRect = (m_layoutBox.isLayoutImage()) |
? toLayoutImage(m_layoutBox).replacedContentRect() |
@@ -134,7 +138,7 @@ PassOwnPtr<Shape> ShapeOutsideInfo::createShapeForImage(StyleImage* styleImage, |
} |
ASSERT(!styleImage->isPendingImage()); |
- RefPtr<Image> image = styleImage->image(const_cast<LayoutBox*>(&m_layoutBox), flooredIntSize(imageSize), m_layoutBox.style()->effectiveZoom()); |
+ RefPtr<Image> image = styleImage->image(const_cast<LayoutBox*>(&m_layoutBox), flooredIntSize(imageSize), effectiveZoom); |
return Shape::createRasterShape(image.get(), shapeImageThreshold, imageRect, marginRect, writingMode, margin); |
} |