| Index: third_party/WebKit/Source/core/style/StyleFetchedImageSet.cpp
|
| diff --git a/third_party/WebKit/Source/core/style/StyleFetchedImageSet.cpp b/third_party/WebKit/Source/core/style/StyleFetchedImageSet.cpp
|
| index 035df772d70a55ee7c107162c9dc219b89712299..bccfa306fe0df858f4901297a17cfe6657bf4725 100644
|
| --- a/third_party/WebKit/Source/core/style/StyleFetchedImageSet.cpp
|
| +++ b/third_party/WebKit/Source/core/style/StyleFetchedImageSet.cpp
|
| @@ -29,13 +29,15 @@
|
| #include "core/css/CSSImageSetValue.h"
|
| #include "core/fetch/ImageResource.h"
|
| #include "core/layout/LayoutObject.h"
|
| +#include "core/svg/graphics/SVGImageForContainer.h"
|
|
|
| namespace blink {
|
|
|
| -StyleFetchedImageSet::StyleFetchedImageSet(ImageResource* image, float imageScaleFactor, CSSImageSetValue* value)
|
| +StyleFetchedImageSet::StyleFetchedImageSet(ImageResource* image, float imageScaleFactor, CSSImageSetValue* value, const KURL& urlWithFragment)
|
| : m_bestFitImage(image)
|
| , m_imageScaleFactor(imageScaleFactor)
|
| , m_imageSetValue(value)
|
| + , m_urlWithFragment(urlWithFragment)
|
| {
|
| m_isImageResourceSet = true;
|
| m_bestFitImage->addClient(this);
|
| @@ -109,11 +111,6 @@ bool StyleFetchedImageSet::usesImageContainerSize() const
|
| return m_bestFitImage->usesImageContainerSize();
|
| }
|
|
|
| -void StyleFetchedImageSet::setContainerSizeForLayoutObject(const LayoutObject* layoutObject, const IntSize& imageContainerSize, float imageContainerZoomFactor)
|
| -{
|
| - m_bestFitImage->setContainerSizeForLayoutObject(layoutObject, imageContainerSize, imageContainerZoomFactor);
|
| -}
|
| -
|
| void StyleFetchedImageSet::addClient(LayoutObject* layoutObject)
|
| {
|
| m_bestFitImage->addClient(layoutObject);
|
| @@ -124,9 +121,12 @@ void StyleFetchedImageSet::removeClient(LayoutObject* layoutObject)
|
| m_bestFitImage->removeClient(layoutObject);
|
| }
|
|
|
| -PassRefPtr<Image> StyleFetchedImageSet::image(const LayoutObject* layoutObject, const IntSize&) const
|
| +PassRefPtr<Image> StyleFetchedImageSet::image(const LayoutObject*, const IntSize& containerSize, float zoom, const KURL& url) const
|
| {
|
| - return m_bestFitImage->imageForLayoutObject(layoutObject);
|
| + RefPtr<Image> image = m_bestFitImage->image();
|
| + if (image && image->isSVGImage())
|
| + return SVGImageForContainer::create(toSVGImage(image.get()), containerSize, zoom, url);
|
| + return image;
|
| }
|
|
|
| bool StyleFetchedImageSet::knownToBeOpaque(const LayoutObject* layoutObject) const
|
|
|