RESOLVED FIXED 16015
REGRESSION: Screen artifacts in SVG rendering (caused by float rounding issues in svg:image)
https://bugs.webkit.org/show_bug.cgi?id=16015
Summary REGRESSION: Screen artifacts in SVG rendering (caused by float rounding issue...
Richard Carlos Torr
Reported 2007-11-16 05:28:46 PST
The page at http://www.carto.net/papers/svg/dock/index.svg works perfectly in Safari 3.0.4 on Leopard, but the WebKit nightly build leaves artifacts behind as the "dock" magnifies.
Attachments
Screenshot (70.20 KB, image/png)
2007-11-16 05:30 PST, Richard Carlos Torr
no flags
test case (uses remote URL) (568 bytes, image/svg+xml)
2007-12-15 03:18 PST, Eric Seidel (no email)
no flags
r29177 screenshot (42.08 KB, image/png)
2008-01-04 15:54 PST, Alexey Proskuryakov
no flags
Cache local bounds, and don't use integer metrics from RenderObject (10.86 KB, patch)
2008-01-04 20:33 PST, Oliver Hunt
oliver: review+
Richard Carlos Torr
Comment 1 2007-11-16 05:30:04 PST
Created attachment 17314 [details] Screenshot Screenshot of bug
Alexey Proskuryakov
Comment 2 2007-11-16 08:04:21 PST
Confirmed with r27834; works with Safari 3 on 10.4.11.
Eric Seidel (no email)
Comment 3 2007-11-21 22:27:01 PST
That's awesome. This is entirely related to the overpainting fixes we did for Sun Labs Lively Kernel. Fixing a bunch of overpainting bugs revealed some underpainting bugs. :)
Eric Seidel (no email)
Comment 4 2007-11-21 22:30:36 PST
Hum... looks like we have some other redraw bugs on this SVG as well. I just filed bug 16090 to cover our overpainting.
David Kilzer (:ddkilzer)
Comment 5 2007-11-28 22:05:55 PST
Eric Seidel (no email)
Comment 6 2007-12-15 03:17:33 PST
This is caused by float rounding errors in our RenderSVGImage code. See attached test case.
Eric Seidel (no email)
Comment 7 2007-12-15 03:18:21 PST
Created attachment 17910 [details] test case (uses remote URL)
Mark Rowe (bdash)
Comment 8 2007-12-21 21:25:20 PST
*** Bug 16569 has been marked as a duplicate of this bug. ***
Oliver Hunt
Comment 9 2007-12-21 21:40:49 PST
hyatt adding you to cc, what are your thoughts? (see comments in Bug 16569 )
Oliver Hunt
Comment 10 2008-01-04 14:37:39 PST
The dock example now works -- it was effected by a bug in the layout code. This bug confuses me as it should be fixed now (the test case still leaves a trail). It looks like the cached absolute bounds rect is somehow being changed between paint and layout, which leads to us reporting an incorrect dirty rect. As yet i have been unable to find the source of this change :(
Alexey Proskuryakov
Comment 11 2008-01-04 15:54:26 PST
Created attachment 18280 [details] r29177 screenshot > The dock example now works -- it was effected by a bug in the layout code. I'm still seeing the problem with r29177, see an attached screenshot.
Oliver Hunt
Comment 12 2008-01-04 20:33:55 PST
Created attachment 18281 [details] Cache local bounds, and don't use integer metrics from RenderObject
Beth Dakin
Comment 13 2008-01-04 21:14:07 PST
Fixed with r29191.
Oliver Hunt
Comment 14 2008-01-04 21:18:32 PST
beth is wrong beth closed the wrong bug happily i am about to land ye olde fix
Oliver Hunt
Comment 15 2008-01-04 21:20:31 PST
Fixed in 29192 :D
Oliver Hunt
Comment 16 2008-01-04 23:27:12 PST
Comment on attachment 18281 [details] Cache local bounds, and don't use integer metrics from RenderObject (reviewed by beth)
Note You need to log in before you can comment on or make changes to this bug.