RESOLVED FIXED 10364
RichDraw demo does not live-update in Safari (works in Firefox)
https://bugs.webkit.org/show_bug.cgi?id=10364
Summary RichDraw demo does not live-update in Safari (works in Firefox)
Eric Seidel (no email)
Reported 2006-08-12 01:55:28 PDT
RichDraw demo does not live-update in Safari (works in Firefox) http://starkravingfinkle.org/projects/richdraw/richdraw_demo.htm Shouldn't be hard to fix.
Attachments
the fix (4.38 KB, patch)
2007-01-12 12:25 PST, Eric Seidel (no email)
hyatt: review-
test case (467 bytes, image/svg+xml)
2007-01-12 12:49 PST, Eric Seidel (no email)
no flags
fix and test case (12.78 KB, patch)
2007-01-13 01:52 PST, Eric Seidel (no email)
hyatt: review+
Eric Seidel (no email)
Comment 1 2007-01-12 12:10:25 PST
Turns out this was an HTML/SVG layout interaction problem. Mitz tracked it down. Patch coming right up.
Eric Seidel (no email)
Comment 2 2007-01-12 12:25:32 PST
Created attachment 12396 [details] the fix I'm not sure how to make a reduced test for this. I'm also not sure this is the "right" way to fix this. Hyatt and I should probably chat over IRC.
Eric Seidel (no email)
Comment 3 2007-01-12 12:31:40 PST
The repaint rect is way larger than expected when resizing however (it repaints the whole <svg> section). I'm not sure why.
Eric Seidel (no email)
Comment 4 2007-01-12 12:33:44 PST
Actually I see other SVGs having similar repaint issues (SVG tetris also tries to repaint everything). I expect this change is itself wrong, or exposes other bugs in SVG renderers.
Eric Seidel (no email)
Comment 5 2007-01-12 12:49:28 PST
Created attachment 12398 [details] test case Mitz helped me make a test case
Eric Seidel (no email)
Comment 6 2007-01-12 12:52:16 PST
My "invalidating too much" fears were incorrect. SVG tetris already repaints the entire SVG in TOT. Other things must be wrong there. bounce.svg invalidates correctly even after this change.
Eric Seidel (no email)
Comment 7 2007-01-12 12:54:02 PST
Another fix might be to make: void CSSStyleSelector::adjustRenderStyle(RenderStyle* style, Element *e) collapse all position values into "absolute" or similar for SVG. "position" needs to be respected on <svg> but not anywhere else.
Dave Hyatt
Comment 8 2007-01-13 01:17:52 PST
Comment on attachment 12396 [details] the fix No need to patch container(). Just make the fix in adjustRenderStyle to disallow positioning, and then your container() will always be your parent.
Eric Seidel (no email)
Comment 9 2007-01-13 01:52:57 PST
Created attachment 12412 [details] fix and test case
Eric Seidel (no email)
Comment 10 2007-01-13 01:57:44 PST
The layout test (textual) results I uploaded with that patch are wrong, but I'll land the correct ones. the bbox is 100x100 instead of 1x1 in the correct results.
Dave Hyatt
Comment 11 2007-01-13 02:04:49 PST
Comment on attachment 12412 [details] fix and test case r=me
Note You need to log in before you can comment on or make changes to this bug.