Created attachment 432788 [details] test The attached test case regressed with r278377 in that the cursor set via CSS on an element with a clip-path and a hierarchy of element with display: flex and clip-path above it fails to show the cursor.
<rdar://problem/79845896>
The test case shows the intermediate container is the one being hit-tested since the wait cursor is shown when hovering over the black rectangle.
We fail this check in Path::contains() under this call stack when consider the RenderLayer for the "leaf" element: if (!fastBoundingRect().contains(point)) return false; #0 0x000000073c986373 in WebCore::Path::contains(WebCore::FloatPoint const&, WebCore::WindRule) const at WebCore/platform/graphics/cg/PathCG.cpp:227 #1 0x000000073cdca823 in WebCore::RenderBox::hitTestClipPath(WebCore::HitTestLocation const&, WebCore::LayoutPoint const&) const at WebCore/rendering/RenderBox.cpp:1388 #2 0x000000073ceba871 in WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::LayoutRect const&, WebCore::HitTestLocation const&, bool, WebCore::HitTestingTransformState const*, double*) at WebCore/rendering/RenderLayer.cpp:4122 The provided point is indeed outside of the bounds and seems to be in page coordinates, or at least converted to the coordinates of this element.
Created attachment 432805 [details] More self-explanatory, non-flex testcase
Created attachment 432818 [details] Another test reduction
Created attachment 432839 [details] Patch
Comment on attachment 432839 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=432839&action=review > Source/WebCore/ChangeLog:13 > + 3. The clip-path instersecting takes coordinates relative to the containing block. "instersecting"
Created attachment 432851 [details] Patch
Committed r279544 (239380@main): <https://commits.webkit.org/239380@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 432851 [details].
*** Bug 228262 has been marked as a duplicate of this bug. ***