Bug 15768 - REGRESSION: hit testing fails in nested <svg> elements
Summary: REGRESSION: hit testing fails in nested <svg> elements
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 523.x (Safari 3)
Hardware: Macintosh Intel OS X 10.4
: P1 Major
Assignee: Nobody
URL: http://www.carto.net/neumann/webkitsv...
Keywords: InRadar, Regression
: 15787 (view as bug list)
Depends on:
Reported: 2007-10-30 14:45 PDT by Andreas Neumann
Modified: 2007-12-15 12:15 PST (History)
1 user (show)

See Also:

DRT compatible test case (455 bytes, image/svg+xml)
2007-11-05 14:03 PST, Eric Seidel (no email)
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Neumann 2007-10-30 14:45:26 PDT
This is a regression - used to work in previous builds. The event sensitivity in nested <svg/> elements doesn't seem to work.
Comment 1 Eric Seidel (no email) 2007-11-05 10:20:16 PST
I think bug 15787 is a dup.
Comment 2 Eric Seidel (no email) 2007-11-05 13:54:57 PST
*** Bug 15787 has been marked as a duplicate of this bug. ***
Comment 3 Eric Seidel (no email) 2007-11-05 13:56:46 PST
I'll reduce this into a DRT-compatible test, and then maybe we can run bisect-builds on it to find out where it regressed.

Marking this as a regression and bumping to P1 since it worked in shipping Safari 3.
Comment 4 Eric Seidel (no email) 2007-11-05 14:03:42 PST
Created attachment 17050 [details]
DRT compatible test case

I've not actually seen this test succeed under a non-regressed DRT (I've not tried), so it's possible the test is broken, but I'm pretty sure it's right.
Comment 5 Eric Seidel (no email) 2007-11-05 17:31:44 PST
The bug is that:
        IntRect overflowBox = overflowRect(false);

returns {0, 0, 0, 0}

This happened when we split RenderSVGRoot out from RenderSVGViewportContainer.  The fix is probably just to implement computeAbsoluteRepaintRect (which will also fix other bugs!), but I haven't gotten around to that yet.  There is another bug about implementing computeAbsoluteRepaintRect in bugzilla.  I think the proper fix is to make overflowRect() work instead of building the rect some other way.
Comment 6 David Kilzer (:ddkilzer) 2007-11-28 22:40:24 PST
Comment 7 Eric Seidel (no email) 2007-12-15 12:15:09 PST
This appears to be fixed in TOT.  Please confirm with the latest nightly: