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