Bug 177953

Summary: RenderSVGRoot should check the renderers inside its visualOverflowRect for hit testing if the overflow is visible
Product: WebKit Reporter: Said Abou-Hallawa <sabouhallawa>
Component: SVGAssignee: Said Abou-Hallawa <sabouhallawa>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, simon.fraser, thorton, webkit-bug-importer, zimmermann
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
test case
none
Patch
none
Patch
none
Patch none

Said Abou-Hallawa
Reported 2017-10-05 11:09:42 PDT
Created attachment 322862 [details] test case 1. Open the attached test case. 2. Click on the green rectangle. Result: no alert messages. Expected: an alert message comes up when clicking the green rectangle. NOTES: The green rectangle is an SVGRectElement inside an SVGSVGElement. The SVGRectElement positioned outside the rectangle of the root element. The SVGRectElement is drawn only because the overflow of the SVGSVGElement is set to be visible. Since the SVGRectElement is drawn, it should be accessible through elementFromPoint() and the hit testing.
Attachments
test case (293 bytes, text/html)
2017-10-05 11:09 PDT, Said Abou-Hallawa
no flags
Patch (4.27 KB, patch)
2017-10-05 11:26 PDT, Said Abou-Hallawa
no flags
Patch (4.30 KB, patch)
2017-10-05 11:39 PDT, Said Abou-Hallawa
no flags
Patch (5.10 KB, patch)
2017-10-05 14:25 PDT, Said Abou-Hallawa
no flags
Said Abou-Hallawa
Comment 1 2017-10-05 11:26:05 PDT
Said Abou-Hallawa
Comment 2 2017-10-05 11:28:11 PDT
Said Abou-Hallawa
Comment 3 2017-10-05 11:39:13 PDT
Simon Fraser (smfr)
Comment 4 2017-10-05 13:03:14 PDT
Comment on attachment 322871 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=322871&action=review > Source/WebCore/ChangeLog:5 > + https://bugs.webkit.org/show_bug.cgi?id=177953 > + Should be a link to the radar here. > Source/WebCore/ChangeLog:13 > + If an SVGElement is positioned outside the rectangle of the root element, > + it can still be drawn if the root element has "overflow: visible" applied. > + But since SVGElement can be drawn in this case, it should be accessible > + through nodeAtPoint() which is used for hit testing. Does this do the right thing if another HTML element overlaps the visual overflow and has higher z-index?
Said Abou-Hallawa
Comment 5 2017-10-05 14:25:32 PDT
Said Abou-Hallawa
Comment 6 2017-10-05 14:26:42 PDT
Comment on attachment 322871 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=322871&action=review >> Source/WebCore/ChangeLog:13 >> + through nodeAtPoint() which is used for hit testing. > > Does this do the right thing if another HTML element overlaps the visual overflow and has higher z-index? Yes it does. I includes this case in the new layout test which is attached to this patch.
WebKit Commit Bot
Comment 7 2017-10-05 14:54:19 PDT
Comment on attachment 322918 [details] Patch Clearing flags on attachment: 322918 Committed r222934: <http://trac.webkit.org/changeset/222934>
WebKit Commit Bot
Comment 8 2017-10-05 14:54:21 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.