Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8746ea87f06c2e65ea34055e95bcb7cbfa1ea59e
      
https://github.com/WebKit/WebKit/commit/8746ea87f06c2e65ea34055e95bcb7cbfa1ea59e
  Author: Ada Chan <[email protected]>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M Source/WebKit/Configurations/GPUService.xcconfig
    M Source/WebKit/GPUProcess/GPUProcess.h
    M Source/WebKit/GPUProcess/GPUProcess.messages.in
    M Source/WebKit/GPUProcess/cocoa/GPUProcessCocoa.mm
    M Source/WebKit/ModelProcess/ModelProcess.cpp
    M Source/WebKit/ModelProcess/ModelProcess.h
    M Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in
    M Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Model.sb.in
    A Source/WebKit/Resources/ios/GPUService-visionOS-simulator.entitlements
    M Source/WebKit/Resources/ios/ModelService-embedded-simulator.entitlements
    M Source/WebKit/Scripts/process-entitlements.sh
    M Source/WebKit/SourcesCocoa.txt
    M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp
    M Source/WebKit/UIProcess/GPU/GPUProcessProxy.h
    M Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp
    M Source/WebKit/UIProcess/Model/ModelProcessProxy.h
    M Source/WebKit/UIProcess/Model/ModelProcessProxy.messages.in
    A Source/WebKit/UIProcess/Model/cocoa/ModelProcessProxyCocoa.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj

  Log Message:
  -----------
  [visionOS] Move shared simulation connection from the Model process to the 
GPU process
https://bugs.webkit.org/show_bug.cgi?id=286366
rdar://138447079

Reviewed by Per Arne Vollan.

Instead of connecting to shared simulation as part of WKREEngine initialization
in the Model process, the Model process will send a message to the UI process to
request for that connection. UI process delegates that request to the GPU 
process
and returns the resulting connection back to the Model process. Sandbox rules 
and
entitlements related to the shared simulation connection have been removed from
the Model process, and added to the GPU process instead (only for visionOS).

* Source/WebKit/Configurations/GPUService.xcconfig:
Update the GPU process simulator entitlements for visionOS
* Source/WebKit/GPUProcess/GPUProcess.h:
* Source/WebKit/GPUProcess/GPUProcess.messages.in:
Add a new message for handling shared simulation connection
* Source/WebKit/GPUProcess/cocoa/GPUProcessCocoa.mm:
(WebKit::GPUProcess::requestSharedSimulationConnection):
Get the shared simulation connection via WKSharedSimulationConnectionHelper 
using
the model process' audit token.
* Source/WebKit/ModelProcess/ModelProcess.cpp:
(WebKit::ModelProcess::createModelConnectionToWebProcess):
Initialize the WKREEngine with a function to get the shared simulation
connection via a message to the UI process.
(WebKit::ModelProcess::requestSharedSimulationConnection):
* Source/WebKit/ModelProcess/ModelProcess.h:
* Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb.in:
A couple of additions to the GPU process sandbox in order to connect to shared
simulation and to make shareable file handles.
* Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Model.sb.in:
Remove the mach-lookup rule needed to connect to shared simulation.
* Source/WebKit/Resources/ios/GPUService-visionOS-simulator.entitlements: 
Copied from 
Source/WebKit/Resources/ios/ModelService-embedded-simulator.entitlements.
* Source/WebKit/Resources/ios/ModelService-embedded-simulator.entitlements:
* Source/WebKit/Scripts/process-entitlements.sh:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::requestSharedSimulationConnection):
Send the shared simulation connection request to the GPU process
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.h:
* Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp:
(WebKit::ModelProcessProxy::processWillShutDown):
Reset m_didInitializeSharedSimulationConnection to false.
* Source/WebKit/UIProcess/Model/ModelProcessProxy.h:
* Source/WebKit/UIProcess/Model/ModelProcessProxy.messages.in:
* Source/WebKit/UIProcess/Model/cocoa/ModelProcessProxyCocoa.mm: Added.
(WebKit::ModelProcessProxy::requestSharedSimulationConnection):
Add message checks to make sure the web content process that creates the models
to be loaded by the Model process have the expected model related preferences
set, and that this is the first time this Model process is requesting for the 
connection.
If all the checks pass, delegate the connection request to GPUProcessProxy.
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

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