Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8f60a59627c668cd200b5f0e6a717e7e7c8dcf95
      
https://github.com/WebKit/WebKit/commit/8f60a59627c668cd200b5f0e6a717e7e7c8dcf95
  Author: Simon Fraser <[email protected]>
  Date:   2023-01-06 (Fri, 06 Jan 2023)

  Changed paths:
    M Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
    M Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp

  Log Message:
  -----------
  REGRESSION (258031@main): Occasional crashes under 
WTF::Detail::CallableWrapper<WebCore::ThreadedScrollingTree::deferWheelEventTestCompletionForReason()
https://bugs.webkit.org/show_bug.cgi?id=250133
rdar://103918112

Reviewed by Ryosuke Niwa.

It's possible that 
`ThreadedScrollingTree::deferWheelEventTestCompletionForReason()` and
`ThreadedScrollingTree::removeWheelEventTestCompletionDeferralForReason()` can 
bounce to
the main thread after the ScrollingCoordinator's Page has been nulled out, so 
add some
null checks.

Also avoid these bounces altogether if wheel event monitoring is not active 
(it's a test-only
feature).

* Source/WebCore/page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::receivedWheelEventWithPhases):
(WebCore::ScrollingCoordinator::deferWheelEventTestCompletionForReason):
(WebCore::ScrollingCoordinator::removeWheelEventTestCompletionDeferralForReason):
* Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::deferWheelEventTestCompletionForReason):
(WebCore::ThreadedScrollingTree::removeWheelEventTestCompletionDeferralForReason):

Canonical link: https://commits.webkit.org/258581@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to