Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 48ace7f41c0cfd439060cfcc58e4a32d45c3ffcf https://github.com/WebKit/WebKit/commit/48ace7f41c0cfd439060cfcc58e4a32d45c3ffcf Author: Eddy Wong <eddy_w...@apple.com> 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 webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes