Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a990f17d6abe0458febd3c8b58a4daf66bfa9871 https://github.com/WebKit/WebKit/commit/a990f17d6abe0458febd3c8b58a4daf66bfa9871 Author: Eddy Wong <eddy_w...@apple.com> Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths: M Source/WebCore/WebCore.xcodeproj/project.pbxproj A Source/WebCore/platform/graphics/ModelPlayerIdentifier.h M Source/WebKit/CMakeLists.txt M Source/WebKit/DerivedSources-input.xcfilelist M Source/WebKit/DerivedSources-output.xcfilelist M Source/WebKit/DerivedSources.make M Source/WebKit/ModelProcess/ModelConnectionToWebProcess.cpp M Source/WebKit/ModelProcess/ModelConnectionToWebProcess.h M Source/WebKit/ModelProcess/ModelConnectionToWebProcess.messages.in A Source/WebKit/ModelProcess/ModelProcessModelPlayerManagerProxy.cpp A Source/WebKit/ModelProcess/ModelProcessModelPlayerManagerProxy.h A Source/WebKit/ModelProcess/ModelProcessModelPlayerManagerProxy.messages.in A Source/WebKit/ModelProcess/ModelProcessModelPlayerProxy.cpp A Source/WebKit/ModelProcess/ModelProcessModelPlayerProxy.h A Source/WebKit/ModelProcess/ModelProcessModelPlayerProxy.messages.in M Source/WebKit/Scripts/webkit/messages.py M Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp M Source/WebKit/Scripts/webkit/tests/SerializedTypeInfo.cpp M Source/WebKit/Shared/WTFArgumentCoders.serialization.in M Source/WebKit/Sources.txt M Source/WebKit/SourcesCocoa.txt M Source/WebKit/WebKit.xcodeproj/project.pbxproj M Source/WebKit/WebProcess/Model/ModelProcessConnection.cpp M Source/WebKit/WebProcess/Model/ModelProcessConnection.h A Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.cpp M Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h A Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.messages.in R Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.mm A Source/WebKit/WebProcess/Model/ModelProcessModelPlayerManager.cpp A Source/WebKit/WebProcess/Model/ModelProcessModelPlayerManager.h M Source/WebKit/WebProcess/Model/WebModelPlayerProvider.cpp M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm M Source/WebKit/WebProcess/WebPage/UnifiedTextReplacementController.cpp M Source/WebKit/WebProcess/WebPage/wpe/WebPageWPE.cpp M Source/WebKit/WebProcess/WebProcess.cpp M Source/WebKit/WebProcess/WebProcess.h Log Message: ----------- Multiplexes messages sent to ModelProcess from WebProcess https://bugs.webkit.org/show_bug.cgi?id=269631 rdar://123122822 (Multiplexing IPC messages) Reviewed by Tim Horton. Implements IPC messages multiplexing for Model process to handle distinct model tags. On WebProcess side, added: ModelProcessModelPlayerManager, a per-WebProcess singleton, which creates/manages all ModelProcessModelPlayer for the same WebProcess. On ModelProcess side, added: ModelProcessModelPlayerManagerProxy, which exists 1:1 to ModelConnectionToWebProcess, ModelProcessModelPlayerManagerProxy creates/manages all ModelProcessModelPlayerProxy for the same WebProcess. Added IPC dispatching mechanism so that ModelProcessModelPlayer can easily send a message to its corresponding ModelProcessModelPlayerProxy, and vice versa. * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebCore/platform/graphics/ModelPlayerIdentifier.h: Added. This identifies different model tags from the same WebProcess. * Source/WebKit/DerivedSources-input.xcfilelist: * Source/WebKit/DerivedSources-output.xcfilelist: * Source/WebKit/DerivedSources.make: * Source/WebKit/ModelProcess/ModelConnectionToWebProcess.cpp: (WebKit::ModelConnectionToWebProcess::ModelConnectionToWebProcess): (WebKit::ModelConnectionToWebProcess::dispatchMessage): * Source/WebKit/ModelProcess/ModelConnectionToWebProcess.h: (WebKit::ModelConnectionToWebProcess::protectedConnection): (WebKit::ModelConnectionToWebProcess::modelProcessModelPlayerManagerProxy): * Source/WebKit/ModelProcess/ModelConnectionToWebProcess.messages.in: * Source/WebKit/ModelProcess/ModelProcessModelPlayerManagerProxy.cpp: Added. (WebKit::ModelProcessModelPlayerManagerProxy::ModelProcessModelPlayerManagerProxy): (WebKit::ModelProcessModelPlayerManagerProxy::~ModelProcessModelPlayerManagerProxy): (WebKit::ModelProcessModelPlayerManagerProxy::clear): (WebKit::ModelProcessModelPlayerManagerProxy::createModelPlayer): (WebKit::ModelProcessModelPlayerManagerProxy::deleteModelPlayer): (WebKit::ModelProcessModelPlayerManagerProxy::didReceivePlayerMessage): * Source/WebKit/ModelProcess/ModelProcessModelPlayerManagerProxy.h: Added. (WebKit::ModelProcessModelPlayerManagerProxy::modelConnectionToWebProcess): (WebKit::ModelProcessModelPlayerManagerProxy::didReceiveMessageFromWebProcess): * Source/WebKit/ModelProcess/ModelProcessModelPlayerManagerProxy.messages.in: Added. * Source/WebKit/ModelProcess/ModelProcessModelPlayerProxy.cpp: Copied from Source/WebKit/WebProcess/Model/WebModelPlayerProvider.cpp. (WebKit::ModelProcessModelPlayerProxy::create): (WebKit::ModelProcessModelPlayerProxy::ModelProcessModelPlayerProxy): (WebKit::ModelProcessModelPlayerProxy::~ModelProcessModelPlayerProxy): (WebKit::ModelProcessModelPlayerProxy::invalidate): (WebKit::ModelProcessModelPlayerProxy::loadModel): An example stub message to be fleshed out later. * Source/WebKit/ModelProcess/ModelProcessModelPlayerProxy.h: Copied from Source/WebKit/WebProcess/Model/WebModelPlayerProvider.cpp. * Source/WebKit/ModelProcess/ModelProcessModelPlayerProxy.messages.in: Added. * Source/WebKit/Scripts/webkit/messages.py: (serialized_identifiers): * Source/WebKit/Shared/WTFArgumentCoders.serialization.in: * Source/WebKit/Sources.txt: * Source/WebKit/SourcesCocoa.txt: * Source/WebKit/WebKit.xcodeproj/project.pbxproj: * Source/WebKit/WebProcess/Model/ModelProcessConnection.cpp: (WebKit::ModelProcessConnection::didClose): (WebKit::ModelProcessConnection::dispatchMessage): (WebKit::ModelProcessConnection::createVisibilityPropagationContextForPage): (WebKit::ModelProcessConnection::destroyVisibilityPropagationContextForPage): Corrected typo (from Copy and Paste) from before. This has nothing to do with GPU. (WebKit::ModelProcessConnection::configureLoggingChannel): * Source/WebKit/WebProcess/Model/ModelProcessConnection.h: (WebKit::ModelProcessConnection::addClient): (WebKit::ModelProcessConnection::removeClient): Deleted. * Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.cpp: Renamed from Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.mm. This file can be .cpp instead of .mm * Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.h: (WebKit::ModelProcessModelPlayer::identifier): * Source/WebKit/WebProcess/Model/ModelProcessModelPlayer.messages.in: Copied from Source/WebKit/ModelProcess/ModelConnectionToWebProcess.messages.in. * Source/WebKit/WebProcess/Model/ModelProcessModelPlayerManager.cpp: Added. (WebKit::ModelProcessModelPlayerManager::create): (WebKit::ModelProcessModelPlayerManager::modelProcessConnection): (WebKit::ModelProcessModelPlayerManager::createModelProcessModelPlayer): (WebKit::ModelProcessModelPlayerManager::deleteModelProcessModelPlayer): (WebKit::ModelProcessModelPlayerManager::didReceivePlayerMessage): * Source/WebKit/WebProcess/Model/ModelProcessModelPlayerManager.h: Added. * Source/WebKit/WebProcess/Model/WebModelPlayerProvider.cpp: (WebKit::WebModelPlayerProvider::createModelPlayer): * Source/WebKit/WebProcess/WebProcess.cpp: (WebKit::WebProcess::WebProcess): * Source/WebKit/WebProcess/WebProcess.h: (WebKit::WebProcess::modelProcessModelPlayerManager): WebProcess now owns a singleton of ModelProcessModelPlayerManager. Canonical link: https://commits.webkit.org/275140@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes