| Index: third_party/WebKit/Source/core/layout/LayoutImageResource.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutImageResource.cpp b/third_party/WebKit/Source/core/layout/LayoutImageResource.cpp
|
| index 4c4ceb9546f712360ef16e57b4015ed70190d999..beb97934d72db52a1eacc616826caa8c15beed51 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutImageResource.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutImageResource.cpp
|
| @@ -28,7 +28,9 @@
|
| #include "config.h"
|
| #include "core/layout/LayoutImageResource.h"
|
|
|
| +#include "core/html/HTMLImageElement.h"
|
| #include "core/layout/LayoutImage.h"
|
| +#include "core/svg/graphics/SVGImageForContainer.h"
|
|
|
| namespace blink {
|
|
|
| @@ -88,23 +90,32 @@ void LayoutImageResource::resetAnimation()
|
| m_layoutObject->setShouldDoFullPaintInvalidation();
|
| }
|
|
|
| -void LayoutImageResource::setContainerSizeForLayoutObject(const IntSize& imageContainerSize)
|
| -{
|
| - ASSERT(m_layoutObject);
|
| - if (m_cachedImage)
|
| - m_cachedImage->setContainerSizeForLayoutObject(m_layoutObject, imageContainerSize, m_layoutObject->style()->effectiveZoom());
|
| -}
|
| -
|
| -LayoutSize LayoutImageResource::getImageSize(float multiplier, ImageResource::SizeType type) const
|
| +LayoutSize LayoutImageResource::imageSize(float multiplier) const
|
| {
|
| if (!m_cachedImage)
|
| return LayoutSize();
|
| - LayoutSize size = m_cachedImage->imageSizeForLayoutObject(m_layoutObject, multiplier, type);
|
| + LayoutSize size = m_cachedImage->imageSizeForLayoutObject(m_layoutObject, multiplier, ImageResource::IntrinsicSize);
|
| if (m_layoutObject && m_layoutObject->isLayoutImage() && size.width() && size.height())
|
| size.scale(toLayoutImage(m_layoutObject)->imageDevicePixelRatio());
|
| return size;
|
| }
|
|
|
| +PassRefPtr<Image> LayoutImageResource::image(const IntSize& containerSize, float zoom) const
|
| +{
|
| + RefPtr<Image> image = m_cachedImage ? m_cachedImage->image() : Image::nullImage();
|
| + if (image->isSVGImage()) {
|
| + SVGImage* svgImage = toSVGImage(image.get());
|
| + Node* node = m_layoutObject->node();
|
| + if (node && isHTMLImageElement(node)) {
|
| + const AtomicString& urlString = toHTMLImageElement(node)->imageSourceURL();
|
| + KURL url = node->document().completeURL(urlString);
|
| + svgImage->setURL(url);
|
| + }
|
| + return SVGImageForContainer::create(svgImage, containerSize, zoom);
|
| + }
|
| + return image;
|
| +}
|
| +
|
| bool LayoutImageResource::maybeAnimated() const
|
| {
|
| Image* image = m_cachedImage ? m_cachedImage->image() : Image::nullImage();
|
|
|