[webkit-changes] [WebKit/WebKit] 8f60a5: REGRESSION (258031 at main): Occasional crashes under...

Simon Fraser noreply at github.com
Fri Jan 6 16:41:42 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8f60a59627c668cd200b5f0e6a717e7e7c8dcf95
      https://github.com/WebKit/WebKit/commit/8f60a59627c668cd200b5f0e6a717e7e7c8dcf95
  Author: Simon Fraser <simon.fraser at apple.com>
  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 at 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




More information about the webkit-changes mailing list