Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fe4ddfdad76fa43c18dffa93649a048e6343a549
      
https://github.com/WebKit/WebKit/commit/fe4ddfdad76fa43c18dffa93649a048e6343a549
  Author: Charlie Wolfe <[email protected]>
  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@main, I removed code that explicitly cleared event queues on a 
process swap because, after
267849@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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to