Bug 16015 - REGRESSION: Screen artifacts in SVG rendering (caused by float rounding issues in svg:image)
Summary: REGRESSION: Screen artifacts in SVG rendering (caused by float rounding issue...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P1 Normal
Assignee: Oliver Hunt
URL: http://www.carto.net/papers/svg/dock/...
Keywords: InRadar, NeedsReduction, Regression
: 16569 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-11-16 05:28 PST by Richard Carlos Torr
Modified: 2008-01-04 23:27 PST (History)
2 users (show)

See Also:


Attachments
Screenshot (70.20 KB, image/png)
2007-11-16 05:30 PST, Richard Carlos Torr
no flags Details
test case (uses remote URL) (568 bytes, image/svg+xml)
2007-12-15 03:18 PST, Eric Seidel (no email)
no flags Details
r29177 screenshot (42.08 KB, image/png)
2008-01-04 15:54 PST, Alexey Proskuryakov
no flags Details
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+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Carlos Torr 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.
Comment 1 Richard Carlos Torr 2007-11-16 05:30:04 PST
Created attachment 17314 [details]
Screenshot

Screenshot of bug
Comment 2 Alexey Proskuryakov 2007-11-16 08:04:21 PST
Confirmed with r27834; works with Safari 3 on 10.4.11.
Comment 3 Eric Seidel (no email) 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. :)
Comment 4 Eric Seidel (no email) 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.
Comment 5 David Kilzer (:ddkilzer) 2007-11-28 22:05:55 PST
<rdar://problem/5619313>
Comment 6 Eric Seidel (no email) 2007-12-15 03:17:33 PST
This is caused by float rounding errors in our RenderSVGImage code.  See attached test case.
Comment 7 Eric Seidel (no email) 2007-12-15 03:18:21 PST
Created attachment 17910 [details]
test case (uses remote URL)
Comment 8 Mark Rowe (bdash) 2007-12-21 21:25:20 PST
*** Bug 16569 has been marked as a duplicate of this bug. ***
Comment 9 Oliver Hunt 2007-12-21 21:40:49 PST
hyatt adding you to cc, what are your thoughts? (see comments in Bug 16569 )
Comment 10 Oliver Hunt 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 :(
Comment 11 Alexey Proskuryakov 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.
Comment 12 Oliver Hunt 2008-01-04 20:33:55 PST
Created attachment 18281 [details]
Cache local bounds, and don't use integer metrics from RenderObject
Comment 13 Beth Dakin 2008-01-04 21:14:07 PST
Fixed with r29191.
Comment 14 Oliver Hunt 2008-01-04 21:18:32 PST
beth is wrong
beth closed the wrong bug

happily i am about to land ye olde fix
Comment 15 Oliver Hunt 2008-01-04 21:20:31 PST
Fixed in 29192 :D
Comment 16 Oliver Hunt 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)