When a mask image changes, ensure that elements
that use that mask image are repainted correctly.
<https://bugs.webkit.org/show_bug.cgi?id=19954>
Reviewed by Dave Hyatt
* manual-tests/canvas-mask-redraw.html
Manual testcase
* rendering/RenderBox.cpp:
(WebCore::RenderBox::imageChanged):
(WebCore::RenderBox::repaintLayerRectsForImage):
* rendering/RenderBox.h:
Loop through background layers and mask layers, and
if this image is used in a layer, compute a repaint
rect and repaint.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageChanged):
If this image has a mask, call the base class method.
* rendering/RenderObject.cpp:
Remove a bogus 'return'.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35101 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/rendering/RenderImage.cpp b/WebCore/rendering/RenderImage.cpp
index abb31fc..7e2c7fc 100644
--- a/WebCore/rendering/RenderImage.cpp
+++ b/WebCore/rendering/RenderImage.cpp
@@ -249,7 +249,7 @@
if (documentBeingDestroyed())
return;
- if (hasBoxDecorations())
+ if (hasBoxDecorations() || hasMask())
RenderReplaced::imageChanged(newImage);
if (newImage != imagePtr() || !newImage)