Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 64e4e8a7d098e5535b6f07ce2f0efec70fa6395a
https://github.com/WebKit/WebKit/commit/64e4e8a7d098e5535b6f07ce2f0efec70fa6395a
Author: Aleksei Marchenko <[email protected]>
Date: 2026-07-27 (Mon, 27 Jul 2026)
Changed paths:
M Source/WebKit/ModelProcess/ModelProcess.cpp
M Source/WebKit/ModelProcess/ModelProcess.h
M Source/WebKit/ModelProcess/ModelProcessCreationParameters.h
M Source/WebKit/ModelProcess/ModelProcessCreationParameters.serialization.in
M Source/WebKit/ModelProcess/cocoa/ModelProcessCocoa.mm
M Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Model.sb.in
M Source/WebKit/Shared/AuxiliaryProcess.h
M Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm
M Source/WebKit/Shared/LogStream.h
M Source/WebKit/Shared/LogStream.mm
M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h
M Source/WebKit/UIProcess/Cocoa/AuxiliaryProcessProxyCocoa.mm
M Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm
M Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm
M Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp
M Source/WebKit/UIProcess/Model/ModelProcessProxy.h
M Source/WebKit/UIProcess/Model/ModelProcessProxy.messages.in
M Source/WebKit/UIProcess/Model/cocoa/ModelProcessProxyCocoa.mm
M Source/WebKit/UIProcess/WebProcessProxy.h
M Source/WebKit/WebProcess/WebProcess.h
M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
Log Message:
-----------
Add log messaging relay to the Model Process
https://bugs.webkit.org/show_bug.cgi?id=319852
rdar://182429803
Reviewed by Per Arne Vollan.
Under ENABLE(LOGD_BLOCKING_IN_WEBCONTENT), child processes are denied logd and
relay os_log to the UI process. Model #includes the WebContent sandbox profile,
so it inherited the block but had no relay, silently dropping all os_log from
com.apple.WebKit.Model; a direct log-service grant in Model's profile was added
as a temporary stopgap.
Give Model the relay by sharing it: the child-side setup
(initializeLogForwarding
and registerLogClient — the os_log hook, log prewarming, and signpost
forwarding)
moves to AuxiliaryProcess and the UI-side re-emit (LogStream, createLogStream,
launch-window XPC handler) to AuxiliaryProcessProxy, leaving only the process
name
and the CreateLogStream message per process.
With the relay in place, remove the stopgap log service permission from Model's
sandbox profile.
* Source/WebKit/ModelProcess/ModelProcess.cpp:
(WebKit::ModelProcess::initializeModelProcess):
* Source/WebKit/ModelProcess/ModelProcess.h:
* Source/WebKit/ModelProcess/ModelProcessCreationParameters.h:
* Source/WebKit/ModelProcess/ModelProcessCreationParameters.serialization.in:
* Source/WebKit/ModelProcess/cocoa/ModelProcessCocoa.mm:
(WebKit::ModelProcess::sendCreateLogStreamToParent):
* Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Model.sb.in:
* Source/WebKit/Shared/AuxiliaryProcess.h:
(WebKit::AuxiliaryProcess::sendCreateLogStreamToParent):
* Source/WebKit/Shared/Cocoa/AuxiliaryProcessCocoa.mm:
(WebKit::shouldIgnoreLogMessage):
(WebKit::prewarmLogs):
(WebKit::registerLogClient):
(WebKit::AuxiliaryProcess::initializeLogForwarding):
* Source/WebKit/Shared/LogStream.h:
* Source/WebKit/Shared/LogStream.mm:
(WebKit::LogStream::LogStream):
(WebKit::LogStream::logOnBehalfOfWebContent):
(WebKit::LogStream::create):
(WebKit::LogStream::didReceiveInvalidMessage):
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
(WebKit::AuxiliaryProcessProxy::didReceiveLogsDuringLaunchForTesting):
* Source/WebKit/UIProcess/Cocoa/AuxiliaryProcessProxyCocoa.mm:
(WebKit::AuxiliaryProcessProxy::LogXPCEventHandler::LogXPCEventHandler):
(WebKit::AuxiliaryProcessProxy::LogXPCEventHandler::handleXPCEvent):
(WebKit::AuxiliaryProcessProxy::createLogStream):
(WebKit::AuxiliaryProcessProxy::stopLogStream):
* Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::platformDestroy):
(WebKit::WebProcessProxy::xpcEventHandler const):
(WebKit::WebProcessProxy::didReceiveLogsDuringLaunchForTesting):
(WebKit::WebProcessProxy::createLogStream):
(WebKit::WebProcessProxy::stopLogStream): Deleted.
(WebKit::WebProcessProxy::WebProcessXPCEventHandler::handleXPCEvent): Deleted.
(WebKit::WebProcessProxy::WebProcessXPCEventHandler::WebProcessXPCEventHandler):
Deleted.
* Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
(WebKit::ProcessLauncher::tryFinishLaunchingProcess):
* Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp:
(WebKit::ModelProcessProxy::modelProcessExited):
* Source/WebKit/UIProcess/Model/ModelProcessProxy.h:
* Source/WebKit/UIProcess/Model/ModelProcessProxy.messages.in:
* Source/WebKit/UIProcess/Model/cocoa/ModelProcessProxyCocoa.mm:
(WebKit::ModelProcessProxy::updateModelProcessCreationParameters):
(WebKit::ModelProcessProxy::xpcEventHandler const):
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Source/WebKit/WebProcess/WebProcess.h:
* Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::accessibilityFocusedUIElement):
Canonical link: https://commits.webkit.org/318004@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications