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

Reply via email to