Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1aa517d47471fdc37ac5b6e2f3809de704ea8ac5
https://github.com/WebKit/WebKit/commit/1aa517d47471fdc37ac5b6e2f3809de704ea8ac5
Author: Matt Woodrow <[email protected]>
Date: 2023-07-23 (Sun, 23 Jul 2023)
Changed paths:
M LayoutTests/compositing/backing/backface-visibility-flip-expected.txt
M
LayoutTests/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt
M LayoutTests/fast/text/combining-character-sequence-vertical.html
M LayoutTests/fast/text/vertical-quotation-marks.html
M
LayoutTests/platform/ios-wk2/compositing/tiling/backface-preserve-3d-tiled-expected.txt
M
LayoutTests/platform/ios-wk2/compositing/visible-rect/flipped-preserve-3d-expected.txt
M
LayoutTests/platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt
M
LayoutTests/platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt
A LayoutTests/transforms/3d/hit-testing/hit-preserves-3d-3-expected.txt
A LayoutTests/transforms/3d/hit-testing/hit-preserves-3d-3.html
M Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
Log Message:
-----------
Hit testing on element with 180deg flip inside preserve-3d not finding
correct element.
https://bugs.webkit.org/show_bug.cgi?id=258565
<rdar://111393557>
Reviewed by Simon Fraser.
Floating point precision (using double) meant that sin(180deg) wasn't returning
exactly 0.
When combining multiple transforms together using preserve-3d, this meant that
layers that are intended to be coplanar
ended up at slightly different depths.
This adds rounding for tiny values to make them exactly zero, so that the
layers end up coplanar again, and we hit
test in DOM order for those.
* LayoutTests/transforms/3d/hit-testing/hit-preserves-3d-3-expected.txt: Added.
* LayoutTests/transforms/3d/hit-testing/hit-preserves-3d-3.html: Added.
* Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::roundEpsilonToZero):
(WebCore::TransformationMatrix::rotate3d):
(WebCore::TransformationMatrix::rotate):
Canonical link: https://commits.webkit.org/266237@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes