Diff
Modified: trunk/Source/WebKit/ChangeLog (254808 => 254809)
--- trunk/Source/WebKit/ChangeLog 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/ChangeLog 2020-01-20 03:18:01 UTC (rev 254809)
@@ -1,3 +1,78 @@
+2020-01-19 Eric Carlson <[email protected]>
+
+ Make MediaPlayerPrivateRemote a message receiver
+ https://bugs.webkit.org/show_bug.cgi?id=206487
+ <rdar://problem/58721559>
+
+ Reviewed by Dean Jackson.
+
+ Make MediaPlayerPrivateRemote a message receiver so we don't need a trampoline
+ for every method in the MediaPlayerPrivateRemoteManager.
+
+ No new tests, no change of behavior.
+
+ * DerivedSources-input.xcfilelist:
+ * DerivedSources-output.xcfilelist:
+ * DerivedSources.make:
+ * GPUProcess/media/RemoteAudioTrackProxy.cpp:
+ (WebKit::RemoteAudioTrackProxy::RemoteAudioTrackProxy):
+ (WebKit::RemoteAudioTrackProxy::configurationChanged):
+ (WebKit::RemoteAudioTrackProxy::willRemove):
+ * GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
+ * GPUProcess/media/RemoteMediaPlayerProxy.cpp:
+ (WebKit::RemoteMediaPlayerProxy::requestResource):
+ (WebKit::RemoteMediaPlayerProxy::removeResource):
+ (WebKit::RemoteMediaPlayerProxy::mediaPlayerNetworkStateChanged):
+ (WebKit::RemoteMediaPlayerProxy::mediaPlayerReadyStateChanged):
+ (WebKit::RemoteMediaPlayerProxy::mediaPlayerVolumeChanged):
+ (WebKit::RemoteMediaPlayerProxy::mediaPlayerMuteChanged):
+ (WebKit::RemoteMediaPlayerProxy::mediaPlayerTimeChanged):
+ (WebKit::RemoteMediaPlayerProxy::mediaPlayerDurationChanged):
+ (WebKit::RemoteMediaPlayerProxy::mediaPlayerRateChanged):
+ (WebKit::RemoteMediaPlayerProxy::mediaPlayerEngineFailedToLoad const):
+ (WebKit::RemoteMediaPlayerProxy::mediaPlayerPlaybackStateChanged):
+ (WebKit::RemoteMediaPlayerProxy::mediaPlayerCharacteristicChanged):
+ (WebKit::RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable):
+ (WebKit::RemoteMediaPlayerProxy::sendCachedState):
+ * GPUProcess/media/RemoteMediaResourceManager.cpp:
+ * GPUProcess/media/RemoteVideoTrackProxy.cpp:
+ (WebKit::RemoteVideoTrackProxy::RemoteVideoTrackProxy):
+ (WebKit::RemoteVideoTrackProxy::configurationChanged):
+ (WebKit::RemoteVideoTrackProxy::willRemove):
+ * WebKit.xcodeproj/project.pbxproj:
+ * WebProcess/GPU/GPUProcessConnection.cpp:
+ (WebKit::GPUProcessConnection::didReceiveMessage):
+ * WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
+ (WebKit::MediaPlayerPrivateRemote::requestResource):
+ * WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
+ * WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in: Added.
+ * WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
+ (WebKit::RemoteMediaPlayerManager::didReceivePlayerMessage):
+ (WebKit::RemoteMediaPlayerManager::networkStateChanged): Deleted.
+ (WebKit::RemoteMediaPlayerManager::readyStateChanged): Deleted.
+ (WebKit::RemoteMediaPlayerManager::volumeChanged): Deleted.
+ (WebKit::RemoteMediaPlayerManager::muteChanged): Deleted.
+ (WebKit::RemoteMediaPlayerManager::timeChanged): Deleted.
+ (WebKit::RemoteMediaPlayerManager::durationChanged): Deleted.
+ (WebKit::RemoteMediaPlayerManager::rateChanged): Deleted.
+ (WebKit::RemoteMediaPlayerManager::playbackStateChanged): Deleted.
+ (WebKit::RemoteMediaPlayerManager::engineFailedToLoad): Deleted.
+ (WebKit::RemoteMediaPlayerManager::characteristicChanged): Deleted.
+ (WebKit::RemoteMediaPlayerManager::sizeChanged): Deleted.
+ (WebKit::RemoteMediaPlayerManager::addRemoteAudioTrack): Deleted.
+ (WebKit::RemoteMediaPlayerManager::removeRemoteAudioTrack): Deleted.
+ (WebKit::RemoteMediaPlayerManager::remoteAudioTrackConfigurationChanged): Deleted.
+ (WebKit::RemoteMediaPlayerManager::addRemoteVideoTrack): Deleted.
+ (WebKit::RemoteMediaPlayerManager::removeRemoteVideoTrack): Deleted.
+ (WebKit::RemoteMediaPlayerManager::remoteVideoTrackConfigurationChanged): Deleted.
+ (WebKit::RemoteMediaPlayerManager::firstVideoFrameAvailable): Deleted.
+ (WebKit::RemoteMediaPlayerManager::requestResource): Deleted.
+ (WebKit::RemoteMediaPlayerManager::removeResource): Deleted.
+ (WebKit::RemoteMediaPlayerManager::updateCachedState): Deleted.
+ * WebProcess/GPU/media/RemoteMediaPlayerManager.h:
+ (WebKit::RemoteMediaPlayerManager::didReceiveMessageFromGPUProcess): Deleted.
+ * WebProcess/GPU/media/RemoteMediaPlayerManager.messages.in:
+
2020-01-19 Claudio Saavedra <[email protected]>
[GTK] Remove usage of deprecated GTimeVal
@@ -1214,7 +1289,7 @@
2020-01-14 Eric Carlson <[email protected]>
- Nake MediaPlayerPrivateRemoteProxy a message receiver
+ Make MediaPlayerPrivateRemoteProxy a message receiver
https://bugs.webkit.org/show_bug.cgi?id=206237
<rdar://problem/58569057>
Modified: trunk/Source/WebKit/DerivedSources-input.xcfilelist (254808 => 254809)
--- trunk/Source/WebKit/DerivedSources-input.xcfilelist 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/DerivedSources-input.xcfilelist 2020-01-20 03:18:01 UTC (rev 254809)
@@ -105,6 +105,7 @@
$(PROJECT_DIR)/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.messages.in
$(PROJECT_DIR)/WebProcess/FullScreen/WebFullScreenManager.messages.in
$(PROJECT_DIR)/WebProcess/GPU/GPUProcessConnection.messages.in
+$(PROJECT_DIR)/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in
$(PROJECT_DIR)/WebProcess/GPU/media/RemoteMediaPlayerManager.messages.in
$(PROJECT_DIR)/WebProcess/GPU/webrtc/LibWebRTCCodecs.messages.in
$(PROJECT_DIR)/WebProcess/GPU/webrtc/LibWebRTCRemoteCodecs.messages.in
Modified: trunk/Source/WebKit/DerivedSources-output.xcfilelist (254808 => 254809)
--- trunk/Source/WebKit/DerivedSources-output.xcfilelist 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/DerivedSources-output.xcfilelist 2020-01-20 03:18:01 UTC (rev 254809)
@@ -57,6 +57,9 @@
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/LibWebRTCRemoteCodecsMessageReceiver.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/LibWebRTCRemoteCodecsMessages.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/LibWebRTCRemoteCodecsMessagesReplies.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/MediaPlayerPrivateRemoteMessageReceiver.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/MediaPlayerPrivateRemoteMessages.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/MediaPlayerPrivateRemoteMessagesReplies.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/NPObjectMessageReceiverMessageReceiver.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/NPObjectMessageReceiverMessages.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/NPObjectMessageReceiverMessagesReplies.h
Modified: trunk/Source/WebKit/DerivedSources.make (254808 => 254809)
--- trunk/Source/WebKit/DerivedSources.make 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/DerivedSources.make 2020-01-20 03:18:01 UTC (rev 254809)
@@ -119,6 +119,7 @@
LegacyCustomProtocolManagerProxy \
LibWebRTCCodecs \
LibWebRTCCodecsProxy \
+ MediaPlayerPrivateRemote \
NPObjectMessageReceiver \
NetworkConnectionToWebProcess \
NetworkContentRuleListManager \
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteAudioTrackProxy.cpp (254808 => 254809)
--- trunk/Source/WebKit/GPUProcess/media/RemoteAudioTrackProxy.cpp 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteAudioTrackProxy.cpp 2020-01-20 03:18:01 UTC (rev 254809)
@@ -29,7 +29,7 @@
#if ENABLE(GPU_PROCESS)
-#include "RemoteMediaPlayerManagerMessages.h"
+#include "MediaPlayerPrivateRemoteMessages.h"
#include "RemoteMediaPlayerProxy.h"
#include "TrackPrivateRemoteConfiguration.h"
@@ -42,7 +42,7 @@
, m_trackPrivate(trackPrivate)
{
m_trackPrivate->setClient(this);
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::AddRemoteAudioTrack(m_player.idendifier(), m_identifier, configuration()), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::AddRemoteAudioTrack(m_identifier, configuration()), m_player.idendifier());
}
TrackPrivateRemoteConfiguration& RemoteAudioTrackProxy::configuration()
@@ -62,12 +62,12 @@
void RemoteAudioTrackProxy::configurationChanged()
{
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::RemoteAudioTrackConfigurationChanged(m_player.idendifier(), m_identifier, configuration()), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::RemoteAudioTrackConfigurationChanged(m_identifier, configuration()), m_player.idendifier());
}
void RemoteAudioTrackProxy::willRemove()
{
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::RemoveRemoteAudioTrack(m_player.idendifier(), m_identifier), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::RemoveRemoteAudioTrack(m_identifier), m_player.idendifier());
}
void RemoteAudioTrackProxy::enabledChanged(bool)
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp (254808 => 254809)
--- trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp 2020-01-20 03:18:01 UTC (rev 254809)
@@ -31,7 +31,6 @@
#include "GPUConnectionToWebProcess.h"
#include "Logging.h"
#include "RemoteMediaPlayerConfiguration.h"
-#include "RemoteMediaPlayerManagerMessages.h"
#include "RemoteMediaPlayerManagerProxyMessages.h"
#include "RemoteMediaPlayerProxy.h"
#include "RemoteMediaPlayerProxyConfiguration.h"
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp (254808 => 254809)
--- trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp 2020-01-20 03:18:01 UTC (rev 254809)
@@ -29,8 +29,8 @@
#if ENABLE(GPU_PROCESS)
#include "GPUConnectionToWebProcess.h"
+#include "MediaPlayerPrivateRemoteMessages.h"
#include "RemoteAudioTrackProxy.h"
-#include "RemoteMediaPlayerManagerMessages.h"
#include "RemoteMediaPlayerManagerProxy.h"
#include "RemoteMediaPlayerProxyConfiguration.h"
#include "RemoteMediaPlayerState.h"
@@ -227,9 +227,9 @@
auto remoteMediaResource = RemoteMediaResource::create(remoteMediaResourceManager, *this, remoteMediaResourceIdentifier);
remoteMediaResourceManager.addMediaResource(remoteMediaResourceIdentifier, remoteMediaResource);
- m_webProcessConnection->sendWithAsyncReply(Messages::RemoteMediaPlayerManager::RequestResource(m_id, remoteMediaResourceIdentifier, request, options), [remoteMediaResource = remoteMediaResource.copyRef()]() {
+ m_webProcessConnection->sendWithAsyncReply(Messages::MediaPlayerPrivateRemote::RequestResource(remoteMediaResourceIdentifier, request, options), [remoteMediaResource = remoteMediaResource.copyRef()]() {
remoteMediaResource->setReady(true);
- });
+ }, m_id);
return remoteMediaResource;
}
@@ -236,7 +236,7 @@
void RemoteMediaPlayerProxy::removeResource(RemoteMediaResourceIdentifier remoteMediaResourceIdentifier)
{
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::RemoveResource(m_id, remoteMediaResourceIdentifier), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::RemoveResource(remoteMediaResourceIdentifier), m_id);
}
// MediaPlayerClient
@@ -243,7 +243,7 @@
void RemoteMediaPlayerProxy::mediaPlayerNetworkStateChanged()
{
updateCachedState();
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::NetworkStateChanged(m_id, m_cachedState), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::NetworkStateChanged(m_cachedState), m_id);
}
void RemoteMediaPlayerProxy::mediaPlayerReadyStateChanged()
@@ -250,40 +250,40 @@
{
updateCachedState();
m_cachedState.naturalSize = m_player->naturalSize();
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::ReadyStateChanged(m_id, m_cachedState), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::ReadyStateChanged(m_cachedState), m_id);
}
void RemoteMediaPlayerProxy::mediaPlayerVolumeChanged()
{
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::VolumeChanged(m_id, m_player->volume()), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::VolumeChanged(m_player->volume()), m_id);
}
void RemoteMediaPlayerProxy::mediaPlayerMuteChanged()
{
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::MuteChanged(m_id, m_player->muted()), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::MuteChanged(m_player->muted()), m_id);
}
void RemoteMediaPlayerProxy::mediaPlayerTimeChanged()
{
updateCachedState();
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::TimeChanged(m_id, m_cachedState), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::TimeChanged(m_cachedState), m_id);
}
void RemoteMediaPlayerProxy::mediaPlayerDurationChanged()
{
updateCachedState();
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::DurationChanged(m_id, m_cachedState), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::DurationChanged(m_cachedState), m_id);
}
void RemoteMediaPlayerProxy::mediaPlayerRateChanged()
{
sendCachedState();
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::RateChanged(m_id, m_player->rate()), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::RateChanged(m_player->rate()), m_id);
}
void RemoteMediaPlayerProxy::mediaPlayerEngineFailedToLoad() const
{
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::EngineFailedToLoad(m_id, m_player->platformErrorCode()), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::EngineFailedToLoad(m_player->platformErrorCode()), m_id);
}
#if ENABLE(LEGACY_ENCRYPTED_MEDIA)
@@ -343,7 +343,7 @@
// FIXME: Unimplemented
void RemoteMediaPlayerProxy::mediaPlayerPlaybackStateChanged()
{
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::PlaybackStateChanged(m_id, m_player->paused()), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::PlaybackStateChanged(m_player->paused()), m_id);
}
void RemoteMediaPlayerProxy::mediaPlayerBufferedTimeRangesChanged()
@@ -358,7 +358,7 @@
void RemoteMediaPlayerProxy::mediaPlayerCharacteristicChanged()
{
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::CharacteristicChanged(m_id, m_player->hasAudio(), m_player->hasVideo(), m_player->movieLoadType()), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::CharacteristicChanged(m_player->hasAudio(), m_player->hasVideo(), m_player->movieLoadType()), m_id);
}
bool RemoteMediaPlayerProxy::mediaPlayerRenderingCanBeAccelerated()
@@ -431,7 +431,7 @@
void RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable()
{
m_layerHostingContext->setRootLayer(m_player->platformLayer());
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::FirstVideoFrameAvailable(m_id), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::FirstVideoFrameAvailable(), m_id);
}
void RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged()
@@ -642,7 +642,7 @@
void RemoteMediaPlayerProxy::sendCachedState()
{
updateCachedState();
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::UpdateCachedState(m_id, m_cachedState), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::UpdateCachedState(m_cachedState), m_id);
m_cachedState.bufferedRanges.clear();
}
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp (254808 => 254809)
--- trunk/Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp 2020-01-20 03:18:01 UTC (rev 254809)
@@ -30,7 +30,6 @@
#include "Connection.h"
#include "DataReference.h"
-#include "RemoteMediaPlayerManagerMessages.h"
#include "RemoteMediaResource.h"
#include "RemoteMediaResourceIdentifier.h"
#include "WebCoreArgumentCoders.h"
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteVideoTrackProxy.cpp (254808 => 254809)
--- trunk/Source/WebKit/GPUProcess/media/RemoteVideoTrackProxy.cpp 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteVideoTrackProxy.cpp 2020-01-20 03:18:01 UTC (rev 254809)
@@ -29,7 +29,7 @@
#if ENABLE(GPU_PROCESS)
-#include "RemoteMediaPlayerManagerMessages.h"
+#include "MediaPlayerPrivateRemoteMessages.h"
#include "RemoteMediaPlayerProxy.h"
#include "TrackPrivateRemoteConfiguration.h"
@@ -42,7 +42,7 @@
, m_trackPrivate(trackPrivate)
{
m_trackPrivate->setClient(this);
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::AddRemoteVideoTrack(m_player.idendifier(), m_identifier, configuration()), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::AddRemoteVideoTrack(m_identifier, configuration()), m_player.idendifier());
}
TrackPrivateRemoteConfiguration& RemoteVideoTrackProxy::configuration()
@@ -62,12 +62,12 @@
void RemoteVideoTrackProxy::configurationChanged()
{
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::RemoteVideoTrackConfigurationChanged(m_player.idendifier(), m_identifier, configuration()), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::RemoteVideoTrackConfigurationChanged(m_identifier, configuration()), m_player.idendifier());
}
void RemoteVideoTrackProxy::willRemove()
{
- m_webProcessConnection->send(Messages::RemoteMediaPlayerManager::RemoveRemoteVideoTrack(m_player.idendifier(), m_identifier), 0);
+ m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::RemoveRemoteVideoTrack(m_identifier), m_player.idendifier());
}
void RemoteVideoTrackProxy::selectedChanged(bool)
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (254808 => 254809)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2020-01-20 03:18:01 UTC (rev 254809)
@@ -102,6 +102,9 @@
0792314C239CBCB8009598E2 /* RemoteMediaPlayerManagerProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 07923146239CBCB7009598E2 /* RemoteMediaPlayerManagerProxyMessages.h */; };
0792314D239CBCB8009598E2 /* RemoteMediaPlayerManagerMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 07923147239CBCB7009598E2 /* RemoteMediaPlayerManagerMessages.h */; };
07A5EBBC1C7BA43E00B9CA69 /* WKFrameHandleRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 07A5EBBA1C7BA43E00B9CA69 /* WKFrameHandleRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 07E19EFB23D401F10094FFB4 /* MediaPlayerPrivateRemoteMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07E19EF823D401F00094FFB4 /* MediaPlayerPrivateRemoteMessageReceiver.cpp */; };
+ 07E19EFC23D401F10094FFB4 /* MediaPlayerPrivateRemoteMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 07E19EF923D401F00094FFB4 /* MediaPlayerPrivateRemoteMessages.h */; };
+ 07E19EFD23D401F10094FFB4 /* MediaPlayerPrivateRemoteMessagesReplies.h in Headers */ = {isa = PBXBuildFile; fileRef = 07E19EFA23D401F00094FFB4 /* MediaPlayerPrivateRemoteMessagesReplies.h */; };
0E97D74D200E900400BF6643 /* SafeBrowsingSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E97D74C200E8FF300BF6643 /* SafeBrowsingSPI.h */; };
0EDE85032004E75D00030560 /* WebsitePopUpPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 0EDE85022004E74900030560 /* WebsitePopUpPolicy.h */; };
0F04159C23C7CC730060A3E2 /* WKScrollViewMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F04159823C7CC720060A3E2 /* WKScrollViewMac.h */; };
@@ -2110,11 +2113,15 @@
0792314E239D5F53009598E2 /* MediaPlayerPrivateRemoteIdentifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaPlayerPrivateRemoteIdentifier.h; sourceTree = "<group>"; };
07A5EBB91C7BA43E00B9CA69 /* WKFrameHandleRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKFrameHandleRef.cpp; sourceTree = "<group>"; };
07A5EBBA1C7BA43E00B9CA69 /* WKFrameHandleRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKFrameHandleRef.h; sourceTree = "<group>"; };
+ 07B1D04B23D38FCE00399A6E /* MediaPlayerPrivateRemote.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = MediaPlayerPrivateRemote.messages.in; sourceTree = "<group>"; };
07B3B46F23AB2CB300BA5B12 /* RemoteMediaPlayerState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteMediaPlayerState.h; sourceTree = "<group>"; };
07B3B47523AD890400BA5B12 /* RemoteMediaPlayerProxyConfiguration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteMediaPlayerProxyConfiguration.h; sourceTree = "<group>"; };
07B93FF523AF0CB80036F8EA /* RemoteMediaPlayerConfiguration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteMediaPlayerConfiguration.h; sourceTree = "<group>"; };
07BAF35623A2CC170044257E /* RemoteMediaPlayerProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RemoteMediaPlayerProxy.h; sourceTree = "<group>"; };
07BAF35723A2CC190044257E /* RemoteMediaPlayerProxy.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteMediaPlayerProxy.cpp; sourceTree = "<group>"; };
+ 07E19EF823D401F00094FFB4 /* MediaPlayerPrivateRemoteMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MediaPlayerPrivateRemoteMessageReceiver.cpp; path = MediaPlayerPrivateRemoteMessageReceiver.cpp; sourceTree = "<group>"; };
+ 07E19EF923D401F00094FFB4 /* MediaPlayerPrivateRemoteMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MediaPlayerPrivateRemoteMessages.h; path = MediaPlayerPrivateRemoteMessages.h; sourceTree = "<group>"; };
+ 07E19EFA23D401F00094FFB4 /* MediaPlayerPrivateRemoteMessagesReplies.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MediaPlayerPrivateRemoteMessagesReplies.h; path = MediaPlayerPrivateRemoteMessagesReplies.h; sourceTree = "<group>"; };
0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
089C1667FE841158C02AAC07 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
0E97D74C200E8FF300BF6643 /* SafeBrowsingSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SafeBrowsingSPI.h; sourceTree = "<group>"; };
@@ -5222,6 +5229,7 @@
071BC57723C93BB700680D7C /* AudioTrackPrivateRemote.h */,
07923131239B3B0C009598E2 /* MediaPlayerPrivateRemote.cpp */,
07923132239B3B0C009598E2 /* MediaPlayerPrivateRemote.h */,
+ 07B1D04B23D38FCE00399A6E /* MediaPlayerPrivateRemote.messages.in */,
0792314E239D5F53009598E2 /* MediaPlayerPrivateRemoteIdentifier.h */,
07B93FF523AF0CB80036F8EA /* RemoteMediaPlayerConfiguration.h */,
07923130239B3B0C009598E2 /* RemoteMediaPlayerManager.cpp */,
@@ -9449,6 +9457,9 @@
2984F587164BA095004BC0C6 /* LegacyCustomProtocolManagerMessages.h */,
2984F57A164B915F004BC0C6 /* LegacyCustomProtocolManagerProxyMessageReceiver.cpp */,
2984F57B164B915F004BC0C6 /* LegacyCustomProtocolManagerProxyMessages.h */,
+ 07E19EF823D401F00094FFB4 /* MediaPlayerPrivateRemoteMessageReceiver.cpp */,
+ 07E19EF923D401F00094FFB4 /* MediaPlayerPrivateRemoteMessages.h */,
+ 07E19EFA23D401F00094FFB4 /* MediaPlayerPrivateRemoteMessagesReplies.h */,
51DD9F2616367DA2001578E9 /* NetworkConnectionToWebProcessMessageReceiver.cpp */,
51DD9F2716367DA2001578E9 /* NetworkConnectionToWebProcessMessages.h */,
52F060DD1654317500F3281B /* NetworkContentRuleListManagerMessageReceiver.cpp */,
@@ -10237,6 +10248,8 @@
1A6D86C21DF75265007745E8 /* MachMessage.h in Headers */,
BCC56F791159957D001CCAF9 /* MachPort.h in Headers */,
1A24B5F311F531E800C38269 /* MachUtilities.h in Headers */,
+ 07E19EFC23D401F10094FFB4 /* MediaPlayerPrivateRemoteMessages.h in Headers */,
+ 07E19EFD23D401F10094FFB4 /* MediaPlayerPrivateRemoteMessagesReplies.h in Headers */,
51933DEF1965EB31008AC3EA /* MenuUtilities.h in Headers */,
1AC4C82916B876A90069DCCD /* MessageFlags.h in Headers */,
1A3EED12161A53D600AEB4F5 /* MessageReceiver.h in Headers */,
@@ -12021,6 +12034,7 @@
2984F57C164B915F004BC0C6 /* LegacyCustomProtocolManagerProxyMessageReceiver.cpp in Sources */,
449D90DA21FDC30B00F677C0 /* LocalAuthenticationSoftLink.mm in Sources */,
2D92A779212B6A6100F493FD /* Logging.cpp in Sources */,
+ 07E19EFB23D401F10094FFB4 /* MediaPlayerPrivateRemoteMessageReceiver.cpp in Sources */,
2D92A781212B6A7100F493FD /* MessageReceiverMap.cpp in Sources */,
2D92A782212B6A7100F493FD /* MessageSender.cpp in Sources */,
2D92A77A212B6A6100F493FD /* Module.cpp in Sources */,
@@ -12090,6 +12104,7 @@
41DE7C6C22278F1E00532B65 /* ServiceWorkerFetchTask.cpp in Sources */,
2D92A787212B6AB100F493FD /* ShareableBitmap.cpp in Sources */,
A1ADAFB62368E6A8009CB776 /* SharedMemory.cpp in Sources */,
+ 575B1BB923CE9C0B0020639A /* SimulatedInputDispatcher.cpp in Sources */,
2DE6943D18BD2A68005C15E5 /* SmartMagnificationControllerMessageReceiver.cpp in Sources */,
1A334DED16DE8F88006A8E38 /* StorageAreaMapMessageReceiver.cpp in Sources */,
9368EEDE2303A90200BDB11A /* StorageManagerSetMessageReceiver.cpp in Sources */,
@@ -12239,7 +12254,6 @@
2D11B7D52126A283006F8878 /* UnifiedSource72.cpp in Sources */,
2D54C311212F3B330049C174 /* UnifiedSource72-mm.mm in Sources */,
2D54C310212F3B330049C174 /* UnifiedSource73-mm.mm in Sources */,
- 575B1BBA23CE9C130020639A /* WebAutomationSession.cpp in Sources */,
2D11B7D62126A283006F8878 /* UnifiedSource73.cpp in Sources */,
2D54C315212F3B330049C174 /* UnifiedSource74-mm.mm in Sources */,
2D11B7D72126A283006F8878 /* UnifiedSource74.cpp in Sources */,
@@ -12286,7 +12300,9 @@
1A60224C18C16B9F00C3E8C9 /* VisitedLinkStoreMessageReceiver.cpp in Sources */,
1A8E7D3C18C15149005A702A /* VisitedLinkTableControllerMessageReceiver.cpp in Sources */,
57DCED702142EE680016B847 /* WebAuthenticatorCoordinatorProxyMessageReceiver.cpp in Sources */,
+ 575B1BBA23CE9C130020639A /* WebAutomationSession.cpp in Sources */,
1C0A19571C90068F00FE0EBB /* WebAutomationSessionMessageReceiver.cpp in Sources */,
+ 575B1BB823CE9BFC0020639A /* WebAutomationSessionProxy.cpp in Sources */,
1C0A19531C8FFDFB00FE0EBB /* WebAutomationSessionProxyMessageReceiver.cpp in Sources */,
1A1FEC1C1627B45700700F6D /* WebConnectionMessageReceiver.cpp in Sources */,
330934471315B9220097A7BC /* WebCookieManagerMessageReceiver.cpp in Sources */,
@@ -12302,7 +12318,6 @@
BC0E606112D6BA910012A72A /* WebGeolocationManagerMessageReceiver.cpp in Sources */,
BC0E618212D6CB1D0012A72A /* WebGeolocationManagerProxyMessageReceiver.cpp in Sources */,
510523751C73D38F007993CB /* WebIDBConnectionToServerMessageReceiver.cpp in Sources */,
- 575B1BB923CE9C0B0020639A /* SimulatedInputDispatcher.cpp in Sources */,
933E835B23A1B75000DEF289 /* WebIDBServerMessageReceiver.cpp in Sources */,
FEDBDCD61E68D20000A59F8F /* WebInspectorInterruptDispatcherMessageReceiver.cpp in Sources */,
1C8E2A351277852400BC7BD0 /* WebInspectorMessageReceiver.cpp in Sources */,
@@ -12358,7 +12373,6 @@
637281A321ADC744009E0DE6 /* WKDownloadProgress.mm in Sources */,
5CE9120D2293C219005BEC78 /* WKMain.mm in Sources */,
4657D88A22664A2F005DE823 /* WKOrientationAccessAlert.mm in Sources */,
- 575B1BB823CE9BFC0020639A /* WebAutomationSessionProxy.cpp in Sources */,
5CA26D83217AD1B800F97A35 /* WKSafeBrowsingWarning.mm in Sources */,
1DB01944211CF005009FB3E8 /* WKShareSheet.mm in Sources */,
7A78FF332241919B0096483E /* WKStorageAccessAlert.mm in Sources */,
Modified: trunk/Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp (254808 => 254809)
--- trunk/Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp 2020-01-20 03:18:01 UTC (rev 254809)
@@ -32,6 +32,7 @@
#include "GPUConnectionToWebProcessMessages.h"
#include "LibWebRTCCodecs.h"
#include "LibWebRTCCodecsMessages.h"
+#include "MediaPlayerPrivateRemoteMessages.h"
#include "RemoteMediaPlayerManager.h"
#include "RemoteMediaPlayerManagerMessages.h"
#include "UserMediaCaptureManager.h"
@@ -66,10 +67,11 @@
void GPUProcessConnection::didReceiveMessage(IPC::Connection& connection, IPC::Decoder& decoder)
{
- if (decoder.messageReceiverName() == Messages::RemoteMediaPlayerManager::messageReceiverName()) {
- WebProcess::singleton().supplement<RemoteMediaPlayerManager>()->didReceiveMessageFromGPUProcess(connection, decoder);
+ if (decoder.messageReceiverName() == Messages::MediaPlayerPrivateRemote::messageReceiverName()) {
+ WebProcess::singleton().supplement<RemoteMediaPlayerManager>()->didReceivePlayerMessage(connection, decoder);
return;
}
+
#if ENABLE(MEDIA_STREAM)
if (decoder.messageReceiverName() == Messages::UserMediaCaptureManager::messageReceiverName()) {
if (auto* captureManager = WebProcess::singleton().supplement<UserMediaCaptureManager>())
@@ -77,6 +79,7 @@
return;
}
#endif
+
#if USE(LIBWEBRTC) && PLATFORM(COCOA)
if (decoder.messageReceiverName() == Messages::LibWebRTCCodecs::messageReceiverName()) {
WebProcess::singleton().libWebRTCCodecs().didReceiveMessage(connection, decoder);
Modified: trunk/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp (254808 => 254809)
--- trunk/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp 2020-01-20 03:18:01 UTC (rev 254809)
@@ -910,13 +910,16 @@
return false;
}
-void MediaPlayerPrivateRemote::requestResource(RemoteMediaResourceIdentifier remoteMediaResourceIdentifier, WebCore::ResourceRequest&& request, WebCore::PlatformMediaResourceLoader::LoadOptions options)
+void MediaPlayerPrivateRemote::requestResource(RemoteMediaResourceIdentifier remoteMediaResourceIdentifier, WebCore::ResourceRequest&& request, WebCore::PlatformMediaResourceLoader::LoadOptions options, CompletionHandler<void()>&& completionHandler)
{
ASSERT(!m_mediaResources.contains(remoteMediaResourceIdentifier));
auto resource = m_mediaResourceLoader->requestResource(WTFMove(request), options);
+
// PlatformMediaResource owns the PlatformMediaResourceClient
resource->setClient(makeUnique<RemoteMediaResourceProxy>(connection(), *resource, remoteMediaResourceIdentifier));
m_mediaResources.add(remoteMediaResourceIdentifier, WTFMove(resource));
+
+ completionHandler();
}
void MediaPlayerPrivateRemote::removeResource(RemoteMediaResourceIdentifier remoteMediaResourceIdentifier)
Modified: trunk/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h (254808 => 254809)
--- trunk/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h 2020-01-20 03:18:01 UTC (rev 254809)
@@ -47,6 +47,7 @@
class MediaPlayerPrivateRemote final
: public CanMakeWeakPtr<MediaPlayerPrivateRemote>
, public WebCore::MediaPlayerPrivateInterface
+ , private IPC::MessageReceiver
#if !RELEASE_LOG_DISABLED
, private LoggerHelper
#endif
@@ -58,9 +59,10 @@
}
MediaPlayerPrivateRemote(WebCore::MediaPlayer*, WebCore::MediaPlayerEnums::MediaEngineIdentifier, MediaPlayerPrivateRemoteIdentifier, RemoteMediaPlayerManager&, const RemoteMediaPlayerConfiguration&);
-
~MediaPlayerPrivateRemote();
+ void didReceiveMessage(IPC::Connection&, IPC::Decoder&) final;
+
void invalidate() { m_invalid = true; }
WebCore::MediaPlayerEnums::MediaEngineIdentifier remoteEngineIdentifier() const { return m_remoteEngineIdentifier; }
MediaPlayerPrivateRemoteIdentifier itentifier() const { return m_id; }
@@ -88,7 +90,7 @@
void removeRemoteVideoTrack(TrackPrivateRemoteIdentifier);
void remoteVideoTrackConfigurationChanged(TrackPrivateRemoteIdentifier, TrackPrivateRemoteConfiguration&&);
- void requestResource(RemoteMediaResourceIdentifier, WebCore::ResourceRequest&&, WebCore::PlatformMediaResourceLoader::LoadOptions);
+ void requestResource(RemoteMediaResourceIdentifier, WebCore::ResourceRequest&&, WebCore::PlatformMediaResourceLoader::LoadOptions, CompletionHandler<void()>&&);
void removeResource(RemoteMediaResourceIdentifier);
#if !RELEASE_LOG_DISABLED
Added: trunk/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in (0 => 254809)
--- trunk/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in (rev 0)
+++ trunk/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in 2020-01-20 03:18:01 UTC (rev 254809)
@@ -0,0 +1,53 @@
+# Copyright (C) 2020 Apple Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+# THE POSSIBILITY OF SUCH DAMAGE.
+
+#if ENABLE(GPU_PROCESS)
+
+messages -> MediaPlayerPrivateRemote NotRefCounted {
+ NetworkStateChanged(struct WebKit::RemoteMediaPlayerState state)
+ ReadyStateChanged(struct WebKit::RemoteMediaPlayerState state)
+ FirstVideoFrameAvailable()
+ VolumeChanged(double volume)
+ MuteChanged(bool mute)
+ TimeChanged(struct WebKit::RemoteMediaPlayerState state)
+ DurationChanged(struct WebKit::RemoteMediaPlayerState state)
+ RateChanged(double rate)
+ PlaybackStateChanged(bool paused)
+ EngineFailedToLoad(int platformErrorCode)
+ UpdateCachedState(struct WebKit::RemoteMediaPlayerState state)
+ CharacteristicChanged(bool hasAudio, bool hasVideo, enum:uint8_t WebCore::MediaPlayerEnums::MovieLoadType movieLoadType)
+ SizeChanged(WebCore::FloatSize naturalSize)
+
+ AddRemoteAudioTrack(WebKit::TrackPrivateRemoteIdentifier trackID, struct WebKit::TrackPrivateRemoteConfiguration configuration)
+ RemoveRemoteAudioTrack(WebKit::TrackPrivateRemoteIdentifier trackID)
+ RemoteAudioTrackConfigurationChanged(WebKit::TrackPrivateRemoteIdentifier trackID, struct WebKit::TrackPrivateRemoteConfiguration configuration)
+
+ AddRemoteVideoTrack(WebKit::TrackPrivateRemoteIdentifier trackID, struct WebKit::TrackPrivateRemoteConfiguration configuration)
+ RemoveRemoteVideoTrack(WebKit::TrackPrivateRemoteIdentifier trackID)
+ RemoteVideoTrackConfigurationChanged(WebKit::TrackPrivateRemoteIdentifier trackID, struct WebKit::TrackPrivateRemoteConfiguration configuration)
+
+ RequestResource(WebKit::RemoteMediaResourceIdentifier remoteMediaResourceIdentifier, WebCore::ResourceRequest request, enum:uint8_t WebCore::PlatformMediaResourceLoader::LoadOptions options) -> () Async
+ RemoveResource(WebKit::RemoteMediaResourceIdentifier remoteMediaResourceIdentifier)
+}
+
+#endif
Modified: trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp (254808 => 254809)
--- trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp 2020-01-20 03:18:01 UTC (rev 254809)
@@ -33,7 +33,6 @@
#include "RemoteAudioMediaStreamTrackRenderer.h"
#include "RemoteMediaPlayerConfiguration.h"
#include "RemoteMediaPlayerMIMETypeCache.h"
-#include "RemoteMediaPlayerManagerMessages.h"
#include "RemoteMediaPlayerManagerProxyMessages.h"
#include "RemoteMediaPlayerProxyConfiguration.h"
#include "WebCoreArgumentCoders.h"
@@ -239,128 +238,12 @@
gpuProcessConnection().connection().send(Messages::RemoteMediaPlayerManagerProxy::ClearMediaCacheForOrigins(remoteEngineIdentifier, path, originData), 0);
}
-void RemoteMediaPlayerManager::networkStateChanged(MediaPlayerPrivateRemoteIdentifier id, RemoteMediaPlayerState&& state)
+void RemoteMediaPlayerManager::didReceivePlayerMessage(IPC::Connection& connection, IPC::Decoder& decoder)
{
- if (const auto& player = m_players.get(id))
- player->networkStateChanged(WTFMove(state));
+ if (const auto& player = m_players.get(makeObjectIdentifier<MediaPlayerPrivateRemoteIdentifierType>(decoder.destinationID())))
+ player->didReceiveMessage(connection, decoder);
}
-void RemoteMediaPlayerManager::readyStateChanged(MediaPlayerPrivateRemoteIdentifier id, RemoteMediaPlayerState&& state)
-{
- if (const auto& player = m_players.get(id))
- player->readyStateChanged(WTFMove(state));
-}
-
-void RemoteMediaPlayerManager::volumeChanged(MediaPlayerPrivateRemoteIdentifier id, double volume)
-{
- if (const auto& player = m_players.get(id))
- player->volumeChanged(volume);
-}
-
-void RemoteMediaPlayerManager::muteChanged(MediaPlayerPrivateRemoteIdentifier id, bool mute)
-{
- if (const auto& player = m_players.get(id))
- player->muteChanged(mute);
-}
-
-void RemoteMediaPlayerManager::timeChanged(MediaPlayerPrivateRemoteIdentifier id, RemoteMediaPlayerState&& state)
-{
- if (const auto& player = m_players.get(id))
- player->timeChanged(WTFMove(state));
-}
-
-void RemoteMediaPlayerManager::durationChanged(MediaPlayerPrivateRemoteIdentifier id, RemoteMediaPlayerState&& state)
-{
- if (const auto& player = m_players.get(id))
- player->durationChanged(WTFMove(state));
-}
-
-void RemoteMediaPlayerManager::rateChanged(MediaPlayerPrivateRemoteIdentifier id, double rate)
-{
- if (const auto& player = m_players.get(id))
- player->rateChanged(rate);
-}
-
-void RemoteMediaPlayerManager::playbackStateChanged(MediaPlayerPrivateRemoteIdentifier id, bool paused)
-{
- if (const auto& player = m_players.get(id))
- player->playbackStateChanged(paused);
-}
-
-void RemoteMediaPlayerManager::engineFailedToLoad(MediaPlayerPrivateRemoteIdentifier id, long platformErrorCode)
-{
- if (const auto& player = m_players.get(id))
- player->engineFailedToLoad(platformErrorCode);
-}
-
-void RemoteMediaPlayerManager::characteristicChanged(MediaPlayerPrivateRemoteIdentifier id, bool hasAudio, bool hasVideo, WebCore::MediaPlayerEnums::MovieLoadType loadType)
-{
- if (const auto& player = m_players.get(id))
- player->characteristicChanged(hasAudio, hasVideo, loadType);
-}
-
-void RemoteMediaPlayerManager::sizeChanged(MediaPlayerPrivateRemoteIdentifier id, WebCore::FloatSize naturalSize)
-{
- if (const auto& player = m_players.get(id))
- player->sizeChanged(naturalSize);
-}
-
-void RemoteMediaPlayerManager::addRemoteAudioTrack(MediaPlayerPrivateRemoteIdentifier playerID, TrackPrivateRemoteIdentifier trackID, TrackPrivateRemoteConfiguration&& configuration)
-{
- if (const auto& player = m_players.get(playerID))
- player->addRemoteAudioTrack(trackID, WTFMove(configuration));
-}
-
-void RemoteMediaPlayerManager::removeRemoteAudioTrack(MediaPlayerPrivateRemoteIdentifier playerID, TrackPrivateRemoteIdentifier trackID)
-{
- if (const auto& player = m_players.get(playerID))
- player->removeRemoteAudioTrack(trackID);
-}
-
-void RemoteMediaPlayerManager::remoteAudioTrackConfigurationChanged(MediaPlayerPrivateRemoteIdentifier playerID, TrackPrivateRemoteIdentifier trackID, TrackPrivateRemoteConfiguration&& configuration)
-{
- if (const auto& player = m_players.get(playerID))
- player->remoteAudioTrackConfigurationChanged(trackID, WTFMove(configuration));
-}
-
-void RemoteMediaPlayerManager::addRemoteVideoTrack(MediaPlayerPrivateRemoteIdentifier playerID, TrackPrivateRemoteIdentifier trackID, TrackPrivateRemoteConfiguration&& configuration)
-{
- if (const auto& player = m_players.get(playerID))
- player->addRemoteVideoTrack(trackID, WTFMove(configuration));
-}
-
-void RemoteMediaPlayerManager::removeRemoteVideoTrack(MediaPlayerPrivateRemoteIdentifier playerID, TrackPrivateRemoteIdentifier trackID)
-{
- if (const auto& player = m_players.get(playerID))
- player->removeRemoteVideoTrack(trackID);
-}
-
-void RemoteMediaPlayerManager::remoteVideoTrackConfigurationChanged(MediaPlayerPrivateRemoteIdentifier playerID, TrackPrivateRemoteIdentifier trackID, TrackPrivateRemoteConfiguration&& configuration)
-{
- if (const auto& player = m_players.get(playerID))
- player->remoteVideoTrackConfigurationChanged(trackID, WTFMove(configuration));
-}
-
-void RemoteMediaPlayerManager::firstVideoFrameAvailable(WebKit::MediaPlayerPrivateRemoteIdentifier id)
-{
- if (const auto& player = m_players.get(id))
- player->firstVideoFrameAvailable();
-}
-
-void RemoteMediaPlayerManager::requestResource(MediaPlayerPrivateRemoteIdentifier id, RemoteMediaResourceIdentifier remoteMediaResourceIdentifier, ResourceRequest&& request, PlatformMediaResourceLoader::LoadOptions options, CompletionHandler<void()>&& completionHandler)
-{
- if (const auto& player = m_players.get(id))
- player->requestResource(remoteMediaResourceIdentifier, WTFMove(request), options);
-
- completionHandler();
-}
-
-void RemoteMediaPlayerManager::removeResource(MediaPlayerPrivateRemoteIdentifier id, RemoteMediaResourceIdentifier remoteMediaResourceIdentifier)
-{
- if (const auto& player = m_players.get(id))
- player->removeResource(remoteMediaResourceIdentifier);
-}
-
void RemoteMediaPlayerManager::updatePreferences(const Settings& settings)
{
auto registerEngine = [this](MediaEngineRegistrar registrar, MediaPlayerEnums::MediaEngineIdentifier remoteEngineIdentifier) {
@@ -375,12 +258,6 @@
#endif
}
-void RemoteMediaPlayerManager::updateCachedState(MediaPlayerPrivateRemoteIdentifier id, RemoteMediaPlayerState&& state)
-{
- if (const auto& player = m_players.get(id))
- player->updateCachedState(WTFMove(state));
-}
-
GPUProcessConnection& RemoteMediaPlayerManager::gpuProcessConnection() const
{
if (!m_gpuProcessConnection)
Modified: trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.h (254808 => 254809)
--- trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.h 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.h 2020-01-20 03:18:01 UTC (rev 254809)
@@ -50,7 +50,8 @@
class WebProcess;
struct TrackPrivateRemoteConfiguration;
-class RemoteMediaPlayerManager : public WebProcessSupplement, public IPC::MessageReceiver {
+class RemoteMediaPlayerManager
+ : public WebProcessSupplement {
WTF_MAKE_FAST_ALLOCATED;
public:
explicit RemoteMediaPlayerManager(WebProcess&);
@@ -63,7 +64,7 @@
GPUProcessConnection& gpuProcessConnection() const;
- void didReceiveMessageFromGPUProcess(IPC::Connection& connection, IPC::Decoder& decoder) { didReceiveMessage(connection, decoder); }
+ void didReceivePlayerMessage(IPC::Connection&, IPC::Decoder&);
void deleteRemoteMediaPlayer(MediaPlayerPrivateRemoteIdentifier);
@@ -73,35 +74,6 @@
// WebProcessSupplement
void initialize(const WebProcessCreationParameters&) final;
- // IPC::MessageReceiver
- void didReceiveMessage(IPC::Connection&, IPC::Decoder&) final;
-
- // Messages::RemoteMediaPlayerManager
- void networkStateChanged(MediaPlayerPrivateRemoteIdentifier, RemoteMediaPlayerState&&);
- void readyStateChanged(MediaPlayerPrivateRemoteIdentifier, RemoteMediaPlayerState&&);
- void volumeChanged(MediaPlayerPrivateRemoteIdentifier, double);
- void muteChanged(MediaPlayerPrivateRemoteIdentifier, bool);
- void timeChanged(MediaPlayerPrivateRemoteIdentifier, RemoteMediaPlayerState&&);
- void durationChanged(MediaPlayerPrivateRemoteIdentifier, RemoteMediaPlayerState&&);
- void rateChanged(MediaPlayerPrivateRemoteIdentifier, double);
- void playbackStateChanged(MediaPlayerPrivateRemoteIdentifier, bool);
- void engineFailedToLoad(MediaPlayerPrivateRemoteIdentifier, long);
- void updateCachedState(MediaPlayerPrivateRemoteIdentifier, RemoteMediaPlayerState&&);
- void characteristicChanged(MediaPlayerPrivateRemoteIdentifier, bool hasAudio, bool hasVideo, WebCore::MediaPlayerEnums::MovieLoadType);
- void sizeChanged(MediaPlayerPrivateRemoteIdentifier, WebCore::FloatSize);
-
- void addRemoteAudioTrack(MediaPlayerPrivateRemoteIdentifier, TrackPrivateRemoteIdentifier, TrackPrivateRemoteConfiguration&&);
- void removeRemoteAudioTrack(MediaPlayerPrivateRemoteIdentifier, TrackPrivateRemoteIdentifier);
- void remoteAudioTrackConfigurationChanged(MediaPlayerPrivateRemoteIdentifier, TrackPrivateRemoteIdentifier, TrackPrivateRemoteConfiguration&&);
- void firstVideoFrameAvailable(WebKit::MediaPlayerPrivateRemoteIdentifier);
-
- void addRemoteVideoTrack(MediaPlayerPrivateRemoteIdentifier, TrackPrivateRemoteIdentifier, TrackPrivateRemoteConfiguration&&);
- void removeRemoteVideoTrack(MediaPlayerPrivateRemoteIdentifier, TrackPrivateRemoteIdentifier);
- void remoteVideoTrackConfigurationChanged(MediaPlayerPrivateRemoteIdentifier, TrackPrivateRemoteIdentifier, TrackPrivateRemoteConfiguration&&);
-
- void requestResource(MediaPlayerPrivateRemoteIdentifier, RemoteMediaResourceIdentifier, WebCore::ResourceRequest&&, WebCore::PlatformMediaResourceLoader::LoadOptions, CompletionHandler<void()>&&);
- void removeResource(MediaPlayerPrivateRemoteIdentifier, RemoteMediaResourceIdentifier);
-
friend class MediaPlayerRemoteFactory;
void getSupportedTypes(WebCore::MediaPlayerEnums::MediaEngineIdentifier, HashSet<String, ASCIICaseInsensitiveHash>&);
WebCore::MediaPlayer::SupportsType supportsTypeAndCodecs(WebCore::MediaPlayerEnums::MediaEngineIdentifier, const WebCore::MediaEngineSupportParameters&);
Modified: trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.messages.in (254808 => 254809)
--- trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.messages.in 2020-01-19 17:08:59 UTC (rev 254808)
+++ trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.messages.in 2020-01-20 03:18:01 UTC (rev 254809)
@@ -1,4 +1,4 @@
-# Copyright (C) 2019 Apple Inc. All rights reserved.
+# Copyright (C) 2019-2020 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -24,30 +24,7 @@
#if ENABLE(GPU_PROCESS)
messages -> RemoteMediaPlayerManager NotRefCounted {
- NetworkStateChanged(WebKit::MediaPlayerPrivateRemoteIdentifier id, struct WebKit::RemoteMediaPlayerState state)
- ReadyStateChanged(WebKit::MediaPlayerPrivateRemoteIdentifier id, struct WebKit::RemoteMediaPlayerState state)
- FirstVideoFrameAvailable(WebKit::MediaPlayerPrivateRemoteIdentifier id)
- VolumeChanged(WebKit::MediaPlayerPrivateRemoteIdentifier id, double volume)
- MuteChanged(WebKit::MediaPlayerPrivateRemoteIdentifier id, bool mute)
- TimeChanged(WebKit::MediaPlayerPrivateRemoteIdentifier id, struct WebKit::RemoteMediaPlayerState state)
- DurationChanged(WebKit::MediaPlayerPrivateRemoteIdentifier id, struct WebKit::RemoteMediaPlayerState state)
- RateChanged(WebKit::MediaPlayerPrivateRemoteIdentifier id, double rate)
- PlaybackStateChanged(WebKit::MediaPlayerPrivateRemoteIdentifier id, bool paused)
- EngineFailedToLoad(WebKit::MediaPlayerPrivateRemoteIdentifier id, int platformErrorCode)
- UpdateCachedState(WebKit::MediaPlayerPrivateRemoteIdentifier id, struct WebKit::RemoteMediaPlayerState state)
- CharacteristicChanged(WebKit::MediaPlayerPrivateRemoteIdentifier id, bool hasAudio, bool hasVideo, enum:uint8_t WebCore::MediaPlayerEnums::MovieLoadType movieLoadType)
- SizeChanged(WebKit::MediaPlayerPrivateRemoteIdentifier id, WebCore::FloatSize naturalSize)
- AddRemoteAudioTrack(WebKit::MediaPlayerPrivateRemoteIdentifier playerID, WebKit::TrackPrivateRemoteIdentifier trackID, struct WebKit::TrackPrivateRemoteConfiguration configuration)
- RemoveRemoteAudioTrack(WebKit::MediaPlayerPrivateRemoteIdentifier playerID, WebKit::TrackPrivateRemoteIdentifier trackID)
- RemoteAudioTrackConfigurationChanged(WebKit::MediaPlayerPrivateRemoteIdentifier playerID, WebKit::TrackPrivateRemoteIdentifier trackID, struct WebKit::TrackPrivateRemoteConfiguration configuration)
-
- AddRemoteVideoTrack(WebKit::MediaPlayerPrivateRemoteIdentifier playerID, WebKit::TrackPrivateRemoteIdentifier trackID, struct WebKit::TrackPrivateRemoteConfiguration configuration)
- RemoveRemoteVideoTrack(WebKit::MediaPlayerPrivateRemoteIdentifier playerID, WebKit::TrackPrivateRemoteIdentifier trackID)
- RemoteVideoTrackConfigurationChanged(WebKit::MediaPlayerPrivateRemoteIdentifier playerID, WebKit::TrackPrivateRemoteIdentifier trackID, struct WebKit::TrackPrivateRemoteConfiguration configuration)
-
- RequestResource(WebKit::MediaPlayerPrivateRemoteIdentifier mediaPlayerPrivateRemoteIdentifier, WebKit::RemoteMediaResourceIdentifier remoteMediaResourceIdentifier, WebCore::ResourceRequest request, enum:uint8_t WebCore::PlatformMediaResourceLoader::LoadOptions options) -> () Async
- RemoveResource(WebKit::MediaPlayerPrivateRemoteIdentifier mediaPlayerPrivateRemoteIdentifier, WebKit::RemoteMediaResourceIdentifier remoteMediaResourceIdentifier)
}
#endif