[webkit-changes] [WebKit/WebKit] b82e90: Early return instead of terminating web process wh...

Alex Christensen noreply at github.com
Tue Jan 14 13:17:17 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b82e90eb3b25d17d3db135873805b8afe7c6712e
      https://github.com/WebKit/WebKit/commit/b82e90eb3b25d17d3db135873805b8afe7c6712e
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M Source/WebKit/UIProcess/WebPageProxy.cpp

  Log Message:
  -----------
  Early return instead of terminating web process when navigating destroyed frames
https://bugs.webkit.org/show_bug.cgi?id=285925
rdar://142902541

Reviewed by Pascoe.

This is similar to 287896 at main but also fixing the MESSAGE_CHECK_COMPLETION calls that check for a frame's existence.
There is a race condition introduced with site isolation that the UI process can destroy a WebFrameProxy and
notify each process that the frame has been destroyed, but before a process receives that message it sends
the UI process a message indicating that the frame is navigating.  When this happens, it is correct to do
nothing, or to complete the request to indicate that we should do nothing.

* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationActionAsyncShared):
(WebKit::WebPageProxy::decidePolicyForNavigationActionSyncShared):
(WebKit::WebPageProxy::decidePolicyForResponseShared):

Canonical link: https://commits.webkit.org/288887@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