[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