[webkit-changes] [WebKit/WebKit] c09328: Occasional crashes under WebWheelEventCoalescer::t...

Simon Fraser noreply at github.com
Thu Jun 29 12:31:27 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c09328b452c7f838fe5e15bf1137c34d69c93e2a
      https://github.com/WebKit/WebKit/commit/c09328b452c7f838fe5e15bf1137c34d69c93e2a
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2023-06-29 (Thu, 29 Jun 2023)

  Changed paths:
    M Source/WebKit/Shared/WebWheelEventCoalescer.cpp
    M Source/WebKit/Shared/WebWheelEventCoalescer.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp

  Log Message:
  -----------
  Occasional crashes under WebWheelEventCoalescer::takeOldestEventBeingProcessed()
https://bugs.webkit.org/show_bug.cgi?id=258653
rdar://111271905

Reviewed by Jer Noble.

Crash data suggest that we can reach WebWheelEventCoalescer::takeOldestEventBeingProcessed() with
m_eventsBeingProcessed being empty. We get here after one or more trips to the web process for wheel
event handling, so it's possible there's some code path where we can get here with an empty m_eventsBeingProcessed,
but I have not figured out how, so do a defensive fix of returning a std::optional<NativeWebWheelEvent>.

* Source/WebKit/Shared/WebWheelEventCoalescer.cpp:
(WebKit::WebWheelEventCoalescer::takeOldestEventBeingProcessed):
* Source/WebKit/Shared/WebWheelEventCoalescer.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::wheelEventHandlingCompleted):

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




More information about the webkit-changes mailing list