Created attachment 45210 [details] Reduction Dragging around the shapes in the attached test cases leaves behind traces of the shadow. <rdar://problem/7389149>
I have a patch that I will attach momentarily.
Created attachment 45211 [details] Patch I'm not sure how to write a test for this, but I am open to suggestions!
style-queue ran check-webkit-style on attachment 45211 [details] without any errors.
You should be able to write a repaint test that moves an SVG object in JS.
Comment on attachment 45211 [details] Patch R-minusing this for now. This solution needs to be expanded beyond the root.
This does not only happen on shadows. I can reproduce it without shadows and the same example. But only for the star, where the stroke is not drawn at the edge. We also need a general fix for repaintRectInLocalCoordinates independent of the bug for shadow.
Created attachment 46098 [details] New patch Here's a new patch that applies to more than just the root and also includes tests. Unfortunately, it does not fix the non-shadow bug that Dirk pointed out. I was able to reproduce that as well, and I spent some time working on a patch to fix both at once. Ultimately, it seems like it is just a separate bug. In the no-shadow case, I think that strokeBoundingBox() might be buggy, but I haven't worked out the details yet. I will file a new bug for that repaint issue.
Created attachment 46168 [details] Even newer patch Here's a better patch based on comments from Oliver and Dan on irc. This patch rewrites inflateForShadow to be more like RenderStyle::getBoxShadowExtent().
Comment on attachment 46168 [details] Even newer patch r=me
Comment on attachment 46168 [details] Even newer patch > +static void getSVGShadowExtent(ShadowData* shadow, int &top, int &right, int &bottom, int &left) > +{ The & is on the wrong side here.
Good eye, Sammy, good eye. I fixed that before I checked in. http://trac.webkit.org/changeset/53017
I filed https://bugs.webkit.org/show_bug.cgi?id=33406 for the bug that Dirk found.