Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 48ace7f41c0cfd439060cfcc58e4a32d45c3ffcf
https://github.com/WebKit/WebKit/commit/48ace7f41c0cfd439060cfcc58e4a32d45c3ffcf
Author: Eddy Wong <[email protected]>
Date: 2024-02-06 (Tue, 06 Feb 2024)
Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WTF/wtf/PlatformEnableCocoa.h
M Source/WebCore/platform/RuntimeApplicationChecks.cpp
M Source/WebCore/platform/RuntimeApplicationChecks.h
A
Source/WebKit/ModelProcess/EntryPoint/Cocoa/XPCService/ModelServiceEntryPoint.mm
A Source/WebKit/ModelProcess/cocoa/ModelProcessCocoa.mm
A Source/WebKit/ModelProcess/ios/ModelProcessIOS.mm
M Source/WebKit/Platform/ExtraPrivateSymbolsForTAPI.h
M Source/WebKit/Shared/Cocoa/DefaultWebBrowserChecks.mm
M
Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h
M
Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm
M Source/WebKit/SourcesCocoa.txt
M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
M Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h
M Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp
M Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.h
M Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm
M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
M Source/WebKit/UIProcess/Launcher/ProcessLauncher.h
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/PageClient.h
M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
M Source/WebKit/UIProcess/ProvisionalPageProxy.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebProcessPool.cpp
M Source/WebKit/UIProcess/WebProcessPool.h
M Source/WebKit/UIProcess/WebProcessProxy.cpp
M Source/WebKit/UIProcess/WebProcessProxy.h
M Source/WebKit/UIProcess/ios/PageClientImplIOS.h
M Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
M Source/WebKit/UIProcess/ios/WKContentView.h
M Source/WebKit/UIProcess/ios/WKContentView.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/Model/ModelProcessConnection.h
A Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h
A Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.mm
M Source/WebKit/WebProcess/Model/WebModelPlayerProvider.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebProcess.cpp
M Source/WebKit/WebProcess/WebProcess.h
Log Message:
-----------
Introduce a <model> loading process - Part 2
https://bugs.webkit.org/show_bug.cgi?id=243874
rdar://122051588 (Create new com.apple.WebKit.Model process)
Reviewed by Alex Christensen.
In order to allow parsing of complex 3D model formats with a custom (tight)
sandbox, introduce a separate process for loading/parsing <model>s.
This is part 2 of the effort, where we hook up the new Model* classes from
existing classes. ENABLE_MODEL_PROCESS is now turned on for visionOS.
The new process doesn't exist yet. The actual rendering flow is not changed yet.
Certain changes were to accommodate for the new plan of having a single
ModelProcess
across the system instead of having one ModelProcess for each WebProcess.
* Source/WTF/wtf/PlatformEnableCocoa.h:
Enables MODEL_PROCESS for visionOS.
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WTF/wtf/PlatformEnableCocoa.h:
* Source/WebCore/platform/RuntimeApplicationChecks.cpp:
(WebCore::processTypeDescription):
* Source/WebCore/platform/RuntimeApplicationChecks.h:
*
Source/WebKit/ModelProcess/EntryPoint/Cocoa/XPCService/ModelServiceEntryPoint.mm:
Copied from Source/WebKit/UIProcess/WebContextClient.h.
(WebKit::ModelServiceInitializerDelegate::ModelServiceInitializerDelegate):
(WebKit::initializeAuxiliaryProcess<ModelProcess>):
(MODEL_SERVICE_INITIALIZER):
* Source/WebKit/ModelProcess/cocoa/ModelProcessCocoa.mm: Copied from
Source/WebKit/Platform/ExtraPrivateSymbolsForTAPI.h.
(WebKit::ModelProcess::notifyPreferencesChanged):
(WebKit::ModelProcess::dispatchSimulatedNotificationsForPreferenceChange):
* Source/WebKit/ModelProcess/ios/ModelProcessIOS.mm: Copied from
Source/WebKit/Platform/ExtraPrivateSymbolsForTAPI.h.
(WebKit::ModelProcess::initializeProcess):
(WebKit::ModelProcess::initializeProcessName):
(WebKit::ModelProcess::initializeSandbox):
* Source/WebKit/Platform/ExtraPrivateSymbolsForTAPI.h:
* Source/WebKit/Shared/Cocoa/DefaultWebBrowserChecks.mm:
(WebKit::isInWebKitChildProcess):
*
Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.h:
* Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceEventHandler):
*
Source/WebKit/Shared/RemoteLayerTree/DynamicContentScalingImageBufferBackend.mm:
(WebKit::DynamicContentScalingImageBufferBackend::createBackendHandle const):
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _modelProcessIdentifier]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::getLaunchOptions):
* Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.h:
* Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::modelProcessDidFinishLaunching):
(WebKit::PageClientImplCocoa::modelProcessDidExit):
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::didCreateContextInModelProcessForVisibilityPropagation):
* Source/WebKit/UIProcess/Launcher/ProcessLauncher.h:
* Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
(WebKit::serviceName):
* Source/WebKit/UIProcess/Model/ModelProcessProxy.cpp:
(WebKit::singleton):
(WebKit::ModelProcessProxy::getOrCreate):
(WebKit::ModelProcessProxy::singletonIfCreated):
(WebKit::ModelProcessProxy::ModelProcessProxy):
(WebKit::ModelProcessProxy::modelProcessExited):
(WebKit::ModelProcessProxy::didFinishLaunching):
(WebKit::ModelProcessProxy::updateProcessAssertion):
(WebKit::ModelProcessProxy::create): Deleted.
* Source/WebKit/UIProcess/Model/ModelProcessProxy.h:
* Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::didCreateContextInModelProcessForVisibilityPropagation):
(WebKit::PageClient::modelProcessDidFinishLaunching):
(WebKit::PageClient::modelProcessDidExit):
* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::didCreateContextInModelProcessForVisibilityPropagation):
* Source/WebKit/UIProcess/ProvisionalPageProxy.h:
(WebKit::ProvisionalPageProxy::contextIDForVisibilityPropagationInModelProcess
const):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::modelProcessID const):
(WebKit::WebPageProxy::modelProcessDidFinishLaunching):
(WebKit::WebPageProxy::modelProcessExited):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::m_resetModelProcessCrashCountTimer):
(WebKit::WebProcessPool::ensureModelProcess):
(WebKit::WebProcessPool::ensureProtectedModelProcess):
(WebKit::WebProcessPool::modelProcessDidFinishLaunching):
(WebKit::WebProcessPool::modelProcessExited):
(WebKit::WebProcessPool::createModelProcessConnection):
(WebKit::WebProcessPool::updateProcessAssertions):
* Source/WebKit/UIProcess/WebProcessPool.h:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createModelProcessConnection):
(WebKit::WebProcessProxy::modelProcessDidFinishLaunching):
(WebKit::WebProcessProxy::modelProcessExited):
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
* Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didCreateContextInModelProcessForVisibilityPropagation):
(WebKit::PageClientImpl::modelProcessDidExit):
* Source/WebKit/UIProcess/ios/WKContentView.h:
* Source/WebKit/UIProcess/ios/WKContentView.mm:
(-[WKContentView _setupVisibilityPropagationViewForModelProcess]):
(-[WKContentView _removeVisibilityPropagationViewForModelProcess]):
(-[WKContentView _modelProcessDidExit]):
(-[WKContentView _didRelaunchProcess]):
(-[WKContentView _modelProcessDidCreateContextForVisibilityPropagation]):
(-[WKContentView _createVisibilityPropagationView]):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Model/ModelProcessConnection.h:
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h: Added.
(WebKit::ModelProcessModelPlayer::page):
(WebKit::ModelProcessModelPlayer::client):
* Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.mm: Added.
(WebKit::ModelProcessModelPlayer::create):
(WebKit::ModelProcessModelPlayer::ModelProcessModelPlayer):
(WebKit::ModelProcessModelPlayer::~ModelProcessModelPlayer):
(WebKit::ModelProcessModelPlayer::load):
(WebKit::ModelProcessModelPlayer::sizeDidChange):
(WebKit::ModelProcessModelPlayer::layer):
(WebKit::ModelProcessModelPlayer::handleMouseDown):
(WebKit::ModelProcessModelPlayer::handleMouseMove):
(WebKit::ModelProcessModelPlayer::handleMouseUp):
(WebKit::ModelProcessModelPlayer::enterFullscreen):
(WebKit::ModelProcessModelPlayer::getCamera):
(WebKit::ModelProcessModelPlayer::setCamera):
(WebKit::ModelProcessModelPlayer::isPlayingAnimation):
(WebKit::ModelProcessModelPlayer::setAnimationIsPlaying):
(WebKit::ModelProcessModelPlayer::isLoopingAnimation):
(WebKit::ModelProcessModelPlayer::setIsLoopingAnimation):
(WebKit::ModelProcessModelPlayer::animationDuration):
(WebKit::ModelProcessModelPlayer::animationCurrentTime):
(WebKit::ModelProcessModelPlayer::setAnimationCurrentTime):
(WebKit::ModelProcessModelPlayer::hasAudio):
(WebKit::ModelProcessModelPlayer::isMuted):
(WebKit::ModelProcessModelPlayer::setIsMuted):
(WebKit::ModelProcessModelPlayer::accessibilityChildren):
* Source/WebKit/WebProcess/Model/WebModelPlayerProvider.cpp:
(WebKit::WebModelPlayerProvider::createModelPlayer):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::modelProcessConnectionDidBecomeAvailable):
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::updatePreferences):
(WebKit::WebPage::configureLoggingChannel):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::ensureModelProcessConnection):
(WebKit::WebProcess::modelProcessConnectionClosed):
* Source/WebKit/WebProcess/WebProcess.h:
(WebKit::WebProcess::existingModelProcessConnection):
Canonical link: https://commits.webkit.org/274185@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes