Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / svg / graphics / filters / SVGFEImage.cpp
index 123752b..180964e 100644 (file)
@@ -38,7 +38,7 @@
 #include "platform/text/TextStream.h"
 #include "platform/transforms/AffineTransform.h"
 
-namespace WebCore {
+namespace blink {
 
 FEImage::FEImage(Filter* filter, PassRefPtr<Image> image, PassRefPtr<SVGPreserveAspectRatio> preserveAspectRatio)
     : FilterEffect(filter)
@@ -69,7 +69,15 @@ PassRefPtr<FEImage> FEImage::createWithIRIReference(Filter* filter, TreeScope& t
 static FloatRect getRendererRepaintRect(RenderObject* renderer)
 {
     return renderer->localToParentTransform().mapRect(
-        renderer->repaintRectInLocalCoordinates());
+        renderer->paintInvalidationRectInLocalCoordinates());
+}
+
+AffineTransform makeMapBetweenRects(const FloatRect& source, const FloatRect& dest)
+{
+    AffineTransform transform;
+    transform.translate(dest.x() - source.x(), dest.y() - source.y());
+    transform.scale(dest.width() / source.width(), dest.height() / source.height());
+    return transform;
 }
 
 FloatRect FEImage::determineAbsolutePaintRect(const FloatRect& originalRequestedRect)
@@ -203,8 +211,9 @@ PassRefPtr<SkImageFilter> FEImage::createImageFilterForRenderer(RenderObject* re
     if (!context)
         return adoptRef(SkBitmapSource::Create(SkBitmap()));
     AffineTransform contentTransformation;
+    FloatRect bounds(FloatPoint(), dstRect.size());
     context->save();
-    context->beginRecording(FloatRect(FloatPoint(), dstRect.size()));
+    context->beginRecording(bounds);
     context->concatCTM(transform);
     SVGRenderingContext::renderSubtree(context, renderer, contentTransformation);
     RefPtr<DisplayList> displayList = context->endRecording();
@@ -241,4 +250,4 @@ PassRefPtr<SkImageFilter> FEImage::createImageFilter(SkiaImageFilterBuilder* bui
     return result.release();
 }
 
-} // namespace WebCore
+} // namespace blink