Index: third_party/WebKit/Source/core/css/CSSCrossfadeValue.cpp |
diff --git a/third_party/WebKit/Source/core/css/CSSCrossfadeValue.cpp b/third_party/WebKit/Source/core/css/CSSCrossfadeValue.cpp |
index d9d4263a4ba97c8631f16d0dba6cebb98f6e5ea7..459ea952645656ff98eb95947d59ce90de48acef 100644 |
--- a/third_party/WebKit/Source/core/css/CSSCrossfadeValue.cpp |
+++ b/third_party/WebKit/Source/core/css/CSSCrossfadeValue.cpp |
@@ -28,6 +28,7 @@ |
#include "core/css/CSSImageValue.h" |
#include "core/layout/LayoutObject.h" |
#include "core/style/StyleFetchedImage.h" |
+#include "core/svg/graphics/SVGImageForContainer.h" |
#include "platform/graphics/CrossfadeGeneratedImage.h" |
#include "wtf/text/StringBuilder.h" |
@@ -215,7 +216,18 @@ PassRefPtr<Image> CSSCrossfadeValue::image(const LayoutObject* layoutObject, con |
if (!fromImage || !toImage) |
return Image::nullImage(); |
- m_generatedImage = CrossfadeGeneratedImage::create(fromImage, toImage, m_percentageValue->getFloatValue(), fixedSize(layoutObject), size); |
+ RefPtr<Image> fromImageRef(fromImage); |
+ RefPtr<Image> toImageRef(toImage); |
+ |
+ // TODO(davve): Pass along proper URL to the SVG wrappers |
+ |
+ if (fromImage->isSVGImage()) |
+ fromImageRef = SVGImageForContainer::create(toSVGImage(fromImage), size, 1, KURL()); |
+ |
+ if (toImage->isSVGImage()) |
+ toImageRef = SVGImageForContainer::create(toSVGImage(toImage), size, 1, KURL()); |
+ |
+ m_generatedImage = CrossfadeGeneratedImage::create(fromImageRef, toImageRef, m_percentageValue->getFloatValue(), fixedSize(layoutObject), size); |
return m_generatedImage.release(); |
} |