Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 48b9b5b5fcd3aea3a9d9eaca4648354db3b6301d
      
https://github.com/WebKit/WebKit/commit/48b9b5b5fcd3aea3a9d9eaca4648354db3b6301d
  Author: Alex Christensen <[email protected]>
  Date:   2026-09-10 (Thu, 10 Sep 2026)

  Changed paths:
    A 
LayoutTests/ipc/remote-object-registry-invoke-method-stale-page-expected.txt
    A LayoutTests/ipc/remote-object-registry-invoke-method-stale-page.html
    M Source/WebKit/Shared/API/Cocoa/_WKRemoteObjectRegistry.mm
    M Source/WebKit/Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h
    M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
    M Source/WebKit/UIProcess/WebProcessProxy.cpp

  Log Message:
  -----------
  Ignore messages to RemoteObjectRegistry if destination can't be found
https://bugs.webkit.org/show_bug.cgi?id=323811
rdar://184175210

Reviewed by Brady Eidson.

This fixes a regression from 316400@main.

Before 316400@main, if a message was sent to a RemoteObjectRegistry that
had been destroyed in the UI process, WebProcessProxy::dispatchMessage
would fall through to the final return true; and we would ignore the message
and move on.  Since that change, we return handleRemoteObjectRegistryMessage
which, to match behavior, needs to return true if we can't find the
RemoteObjectRegistry.  Since the RemoteObjectRegistry's lifetime is tied to
the WKWebView and not the WebPageProxy, it is not uncommon for it to be 
destroyed
before the WebPageProxy during teardown, hence the radar.

Test: ipc/remote-object-registry-invoke-method-stale-page.html

* LayoutTests/ipc/remote-object-registry-invoke-method-stale-page-expected.txt: 
Added.
* LayoutTests/ipc/remote-object-registry-invoke-method-stale-page.html: Added.
* Source/WebKit/Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry remoteObjectRegistry]):
* Source/WebKit/Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h:
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::uiRemoteObjectRegistry):
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::handleRemoteObjectRegistryMessage):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to