[webkit-changes] [WebKit/WebKit] 048b25: transform-style:preserve-3d has incorrect hit-test...
mattwoodrow
noreply at github.com
Fri Apr 7 13:33:23 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 048b254e9fd926c46dcfef64d9e97443953ef2b0
https://github.com/WebKit/WebKit/commit/048b254e9fd926c46dcfef64d9e97443953ef2b0
Author: Matt Woodrow <mattwoodrow at apple.com>
Date: 2023-04-07 (Fri, 07 Apr 2023)
Changed paths:
A LayoutTests/transforms/3d/hit-testing/hit-preserves-3d-2-expected.txt
A LayoutTests/transforms/3d/hit-testing/hit-preserves-3d-2.html
M Source/WebCore/rendering/RenderLayer.cpp
Log Message:
-----------
transform-style:preserve-3d has incorrect hit-testing of negative z-index ::after.
https://bugs.webkit.org/show_bug.cgi?id=255028
Reviewed by Simon Fraser.
We call hitTestList with the intention of storing the result in the temporary object 'hitLayer',
and only mutate the final result 'candidateLayer' if the depth test passes.
Unfortunately the 'result' variable is also part of the final output, and this gets mutated
on hitTestList calls that don't pass the depth test.
This creates a temporary 'tempResult' (like we do for the other sections of this function),
and only copies back to 'result' if the depth test passes.
* LayoutTests/transforms/3d/hit-testing/hit-preserves-3d-2-expected.txt: Added.
* LayoutTests/transforms/3d/hit-testing/hit-preserves-3d-2.html: Added.
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTestLayer):
Canonical link: https://commits.webkit.org/262728@main
More information about the webkit-changes
mailing list