Summary: | Hit-testing does not account for clip-path set on parent of <iframe> | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Antoine Quint <graouts> | ||||||
Component: | Layout and Rendering | Assignee: | Antoine Quint <graouts> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | bfulgham, changseok, darin, esprehn+autocc, ews-watchlist, fred.wang, glenn, kondapallykalyan, pdr, simon.fraser, webkit-bug-importer, zalan | ||||||
Priority: | P2 | Keywords: | InRadar | ||||||
Version: | WebKit Nightly Build | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=227624 | ||||||||
Bug Depends on: | 226380, 227004 | ||||||||
Bug Blocks: | |||||||||
Attachments: |
|
Description
Antoine Quint
2021-06-01 08:01:32 PDT
Created attachment 430263 [details]
Patch
Comment on attachment 430263 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=430263&action=review > LayoutTests/ChangeLog:15 > +2021-05-28 Antoine Quint <graouts@webkit.org> Double change log. Created attachment 430354 [details]
Patch
Comment on attachment 430354 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=430354&action=review > Source/WebCore/rendering/RenderLayer.cpp:4114 > + if (renderer().hasClipPath() && !downcast<RenderBox>(renderer()).hitTestClipPath(hitTestLocation, toLayoutPoint(location() - renderBoxLocation()))) Are we sure that hitTestLocation is in the correct coordinate system for the call to hitTestClipPath()? Committed r278377 (238404@main): <https://commits.webkit.org/238404@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 430354 [details]. (In reply to Simon Fraser (smfr) from comment #5) > Comment on attachment 430354 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=430354&action=review > > > Source/WebCore/rendering/RenderLayer.cpp:4114 > > + if (renderer().hasClipPath() && !downcast<RenderBox>(renderer()).hitTestClipPath(hitTestLocation, toLayoutPoint(location() - renderBoxLocation()))) > > Are we sure that hitTestLocation is in the correct coordinate system for the > call to hitTestClipPath()? I checked that this is the same we use when we hit test through RenderObject for the layer's outermost element. This caused bug 227624. (In reply to Antoine Quint from comment #7) > (In reply to Simon Fraser (smfr) from comment #5) > > Comment on attachment 430354 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=430354&action=review > > > > > Source/WebCore/rendering/RenderLayer.cpp:4114 > > > + if (renderer().hasClipPath() && !downcast<RenderBox>(renderer()).hitTestClipPath(hitTestLocation, toLayoutPoint(location() - renderBoxLocation()))) > > > > Are we sure that hitTestLocation is in the correct coordinate system for the > > call to hitTestClipPath()? > > I checked that this is the same we use when we hit test through RenderObject > for the layer's outermost element. However… this looks to be the cause for bug 227624. |