[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