[webkit-changes] [WebKit/WebKit] 791e55: REGRESSION(267849 at main): ASSERTION FAILED: m_inDis...

Charlie Wolfe noreply at github.com
Mon Sep 18 14:58:08 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 791e55b6738d6cf322148abc8c15fb39a61527cd
      https://github.com/WebKit/WebKit/commit/791e55b6738d6cf322148abc8c15fb39a61527cd
  Author: Charlie Wolfe <charliew at apple.com>
  Date:   2023-09-18 (Mon, 18 Sep 2023)

  Changed paths:
    M Source/WebKit/Shared/NativeWebGestureEvent.h
    M Source/WebKit/Shared/WebEvent.cpp
    M Source/WebKit/Shared/WebEvent.h
    M Source/WebKit/Shared/WebEvent.serialization.in
    M Source/WebKit/Shared/WebEventType.h
    M Source/WebKit/Shared/WebKeyboardEvent.cpp
    M Source/WebKit/Shared/WebKeyboardEvent.h
    M Source/WebKit/Shared/WebMouseEvent.cpp
    M Source/WebKit/Shared/WebMouseEvent.h
    M Source/WebKit/Shared/WebTouchEvent.h
    M Source/WebKit/Shared/WebWheelEvent.h
    M Source/WebKit/Shared/gtk/WebEventFactory.cpp
    M Source/WebKit/Shared/libwpe/WebEventFactory.cpp
    M Source/WebKit/Shared/mac/NativeWebGestureEventMac.mm
    M Source/WebKit/Shared/mac/WebGestureEvent.h
    M Source/WebKit/UIProcess/RemotePageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/WebPageProxy.messages.in
    M Source/WebKit/UIProcess/ios/WKMouseInteraction.mm
    M Source/WebKit/UIProcess/mac/WebViewImpl.mm
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm
    M Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp
    M Source/WebKit/WebProcess/WebPage/EventDispatcher.h
    M Source/WebKit/WebProcess/WebPage/EventDispatcher.messages.in
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/WebPage.messages.in

  Log Message:
  -----------
  REGRESSION(267849 at main): ASSERTION FAILED: m_inDispatchMessageCount > 0
https://bugs.webkit.org/show_bug.cgi?id=261660
rdar://115635276

Reviewed by Alex Christensen.

After 267849 at main, if the web process crashes while an event is being handled a debug assertion will
fail in `Connection::markCurrentlyDispatchedMessageAsInvalid()`. To fix this, make `WebEventType` in
the completion handler optional so that the completion handler call for a crashed web process will
do nothing. Also remove `WebEventType::NoType` and replace it with `std::nullopt`.

* Source/WebKit/Shared/NativeWebGestureEvent.h:
* Source/WebKit/Shared/WebEvent.cpp:
(WebKit::operator<<):
* Source/WebKit/Shared/WebEvent.h:
* Source/WebKit/Shared/WebEvent.serialization.in:
* Source/WebKit/Shared/WebEventType.h:
* Source/WebKit/Shared/WebKeyboardEvent.cpp:
* Source/WebKit/Shared/WebKeyboardEvent.h:
* Source/WebKit/Shared/WebMouseEvent.cpp:
* Source/WebKit/Shared/WebMouseEvent.h:
* Source/WebKit/Shared/WebTouchEvent.h:
* Source/WebKit/Shared/WebWheelEvent.h:
* Source/WebKit/Shared/gtk/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebTouchEvent):
* Source/WebKit/Shared/libwpe/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebTouchEvent):
* Source/WebKit/Shared/mac/NativeWebGestureEventMac.mm:
(WebKit::webEventTypeForNSEvent):
(WebKit::NativeWebGestureEvent::create):
(WebKit::NativeWebGestureEvent::NativeWebGestureEvent):
* Source/WebKit/Shared/mac/WebGestureEvent.h:
* Source/WebKit/UIProcess/RemotePageProxy.cpp:
(WebKit::RemotePageProxy::sendMouseEvent):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setInitialFocus):
(WebKit::WebPageProxy::sendMouseEvent):
(WebKit::WebPageProxy::processNextQueuedMouseEvent):
(WebKit::WebPageProxy::handleKeyboardEvent):
(WebKit::WebPageProxy::handleGestureEvent):
(WebKit::WebPageProxy::handleTouchEvent):
(WebKit::WebPageProxy::didReceiveEvent):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/UIProcess/ios/WKMouseInteraction.mm:
(-[WKMouseInteraction createMouseEventWithType:wasCancelled:]):
(-[WKMouseInteraction _hoverGestureRecognized:]):
(-[WKMouseInteraction _updateMouseTouches:]):
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::magnifyWithEvent):
(WebKit::WebViewImpl::rotateWithEvent):
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.h:
* Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::handleKeyboardEvent):
(WebKit::PDFPlugin::clickedLink):
* Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::gestureEvent):
(WebKit::EventDispatcher::dispatchGestureEvent):
* Source/WebKit/WebProcess/WebPage/EventDispatcher.h:
* Source/WebKit/WebProcess/WebPage/EventDispatcher.messages.in:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::keyEvent):
(WebKit::WebPage::touchEvent):
(WebKit::WebPage::gestureEvent):
(WebKit::WebPage::setInitialFocus):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:

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




More information about the webkit-changes mailing list