[webkit-changes] [WebKit/WebKit] fe4ddf: Explicitly clear event queues on a process swap
Charlie Wolfe
noreply at github.com
Thu May 9 10:09:48 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fe4ddfdad76fa43c18dffa93649a048e6343a549
https://github.com/WebKit/WebKit/commit/fe4ddfdad76fa43c18dffa93649a048e6343a549
Author: Charlie Wolfe <charliew at apple.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M Source/WebKit/UIProcess/WebPageProxy.cpp
Log Message:
-----------
Explicitly clear event queues on a process swap
https://bugs.webkit.org/show_bug.cgi?id=273924
rdar://127788996
Reviewed by Wenson Hsieh and Matt Woodrow.
This is a speculative fix for recent reports that web pages are unresponsive to mouse events.
In 269366 at main, I removed code that explicitly cleared event queues on a process swap because, after
267849 at main, in-flight completion handlers will be called for terminated web processes. However, if the
web process we are navigating away from does not terminate (i.e., if it is hosting another webpage), we
rely on it to dequeue the events in the UI process.
This change makes it so that we once again clear the event queues on a process swap. If the process we
navigated away from has terminated or changed, we do not attempt to dequeue previous events because they
have already been cleared. This way, if the source web process is unresponsive for any reason, it does
not prevent events from being sent to the new page.
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::sendMouseEvent):
(WebKit::WebPageProxy::sendKeyEvent):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
Canonical link: https://commits.webkit.org/278568@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list