Index: third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp |
diff --git a/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp b/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp |
index 3defaf5d34cb8192754a53731e0589d5766952f6..90a7524683d22369ce3b6c8bc99df714f4db7f04 100644 |
--- a/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp |
+++ b/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp |
@@ -153,26 +153,25 @@ IntSize SVGImage::containerSize() const |
// Assure that a container size is always given for a non-identity zoom level. |
ASSERT(layoutObject->style()->effectiveZoom() == 1); |
- FloatSize intrinsicSize; |
- double intrinsicRatio = 0; |
- layoutObject->computeIntrinsicRatioInformation(intrinsicSize, intrinsicRatio); |
- |
- if (intrinsicSize.isEmpty() && intrinsicRatio) { |
- if (!intrinsicSize.width() && intrinsicSize.height()) |
- intrinsicSize.setWidth(intrinsicSize.height() * intrinsicRatio); |
- else if (intrinsicSize.width() && !intrinsicSize.height()) |
- intrinsicSize.setHeight(intrinsicSize.width() / intrinsicRatio); |
+ LayoutBox::IntrinsicSizingInfo intrinsicSizingInfo; |
+ layoutObject->computeIntrinsicSizingInfo(intrinsicSizingInfo); |
+ |
+ if (intrinsicSizingInfo.size.isEmpty() && intrinsicSizingInfo.aspectRatio) { |
+ if (!intrinsicSizingInfo.size.width() && intrinsicSizingInfo.size.height()) |
+ intrinsicSizingInfo.size.setWidth(intrinsicSizingInfo.size.height() * intrinsicSizingInfo.aspectRatio); |
+ else if (intrinsicSizingInfo.size.width() && !intrinsicSizingInfo.size.height()) |
+ intrinsicSizingInfo.size.setHeight(intrinsicSizingInfo.size.width() / intrinsicSizingInfo.aspectRatio); |
} |
// TODO(davve): In order to maintain aspect ratio the intrinsic |
// size is faked from the viewBox as a last resort. This may cause |
// unwanted side effects. Preferably we should be able to signal |
// the intrinsic ratio in another way. |
- if (intrinsicSize.isEmpty()) |
- intrinsicSize = rootElement->currentViewBoxRect().size(); |
+ if (intrinsicSizingInfo.size.isEmpty()) |
+ intrinsicSizingInfo.size = rootElement->currentViewBoxRect().size(); |
- if (!intrinsicSize.isEmpty()) |
- return expandedIntSize(intrinsicSize); |
+ if (!intrinsicSizingInfo.size.isEmpty()) |
+ return expandedIntSize(intrinsicSizingInfo.size); |
// As last resort, use CSS replaced element fallback size. |
return IntSize(300, 150); |