Title: [275210] trunk/Source/WebKit
- Revision
- 275210
- Author
- [email protected]
- Date
- 2021-03-30 10:10:11 -0700 (Tue, 30 Mar 2021)
Log Message
MediaSessionCoordinatorPrivateProxy should have a Client
https://bugs.webkit.org/show_bug.cgi?id=223935
Reviewed by Eric Carlson.
Similar to the non-proxy MediaSessionCoordinatorPrivate, the Proxy
version should have a client, used for communicating state changes
downstream.
* UIProcess/Media/MediaSessionCoordinatorPrivateProxy.h:
(WebKit::MediaSessionCoordinatorPrivateProxy::setClient):
(WebKit::MediaSessionCoordinatorPrivateProxy::client const):
* UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp:
(WebKit::RemoteMediaSessionCoordinatorProxy::seekSessionToTime):
(WebKit::RemoteMediaSessionCoordinatorProxy::playSession):
(WebKit::RemoteMediaSessionCoordinatorProxy::pauseSession):
(WebKit::RemoteMediaSessionCoordinatorProxy::setSessionTrack):
* UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h:
* WebProcess/MediaSession/RemoteMediaSessionCoordinator.messages.in:
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (275209 => 275210)
--- trunk/Source/WebKit/ChangeLog 2021-03-30 17:07:47 UTC (rev 275209)
+++ trunk/Source/WebKit/ChangeLog 2021-03-30 17:10:11 UTC (rev 275210)
@@ -1,3 +1,25 @@
+2021-03-30 Jer Noble <[email protected]>
+
+ MediaSessionCoordinatorPrivateProxy should have a Client
+ https://bugs.webkit.org/show_bug.cgi?id=223935
+
+ Reviewed by Eric Carlson.
+
+ Similar to the non-proxy MediaSessionCoordinatorPrivate, the Proxy
+ version should have a client, used for communicating state changes
+ downstream.
+
+ * UIProcess/Media/MediaSessionCoordinatorPrivateProxy.h:
+ (WebKit::MediaSessionCoordinatorPrivateProxy::setClient):
+ (WebKit::MediaSessionCoordinatorPrivateProxy::client const):
+ * UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp:
+ (WebKit::RemoteMediaSessionCoordinatorProxy::seekSessionToTime):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::playSession):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::pauseSession):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::setSessionTrack):
+ * UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h:
+ * WebProcess/MediaSession/RemoteMediaSessionCoordinator.messages.in:
+
2021-03-30 Peng Liu <[email protected]>
[GPUP] Add "CodeComplete" attribute to some feature flags
Modified: trunk/Source/WebKit/UIProcess/Media/MediaSessionCoordinatorPrivateProxy.h (275209 => 275210)
--- trunk/Source/WebKit/UIProcess/Media/MediaSessionCoordinatorPrivateProxy.h 2021-03-30 17:07:47 UTC (rev 275209)
+++ trunk/Source/WebKit/UIProcess/Media/MediaSessionCoordinatorPrivateProxy.h 2021-03-30 17:10:11 UTC (rev 275210)
@@ -48,8 +48,15 @@
virtual void readyStateChanged(WebCore::MediaSessionReadyState) = 0;
virtual void playbackStateChanged(WebCore::MediaSessionPlaybackState) = 0;
+ virtual void setClient(WeakPtr<WebCore::MediaSessionCoordinatorClient> client) { m_client = client; }
+
protected:
explicit MediaSessionCoordinatorPrivateProxy() = default;
+
+ WeakPtr<WebCore::MediaSessionCoordinatorClient> client() const { return m_client; }
+
+private:
+ WeakPtr<WebCore::MediaSessionCoordinatorClient> m_client;
};
} // namespace WebKit
Modified: trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp (275209 => 275210)
--- trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp 2021-03-30 17:07:47 UTC (rev 275209)
+++ trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp 2021-03-30 17:10:11 UTC (rev 275210)
@@ -29,6 +29,7 @@
#if ENABLE(MEDIA_SESSION_COORDINATOR)
#include "MediaSessionCoordinatorPrivateProxy.h"
+#include "RemoteMediaSessionCoordinatorMessages.h"
#include "WebPageProxy.h"
#include "WebProcessProxy.h"
#include <WebCore/ExceptionData.h>
@@ -120,6 +121,26 @@
m_privateCoordinator->readyStateChanged(state);
}
+void RemoteMediaSessionCoordinatorProxy::seekSessionToTime(double time, CompletionHandler<void(bool)>&& callback)
+{
+ m_webPageProxy.sendWithAsyncReply(Messages::RemoteMediaSessionCoordinator::SeekSessionToTime { time }, callback);
+}
+
+void RemoteMediaSessionCoordinatorProxy::playSession(CompletionHandler<void(bool)>&& callback)
+{
+ m_webPageProxy.sendWithAsyncReply(Messages::RemoteMediaSessionCoordinator::PlaySession { }, callback);
+}
+
+void RemoteMediaSessionCoordinatorProxy::pauseSession(CompletionHandler<void(bool)> callback)
+{
+ m_webPageProxy.sendWithAsyncReply(Messages::RemoteMediaSessionCoordinator::PauseSession { }, callback);
+}
+
+void RemoteMediaSessionCoordinatorProxy::setSessionTrack(const String& trackId, CompletionHandler<void(bool)> callback)
+{
+ m_webPageProxy.sendWithAsyncReply(Messages::RemoteMediaSessionCoordinator::SetSessionTrack { trackId }, callback);
+}
+
} // namespace WebKit
#endif // ENABLE(MEDIA_SESSION_COORDINATOR)
Modified: trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h (275209 => 275210)
--- trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h 2021-03-30 17:07:47 UTC (rev 275209)
+++ trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h 2021-03-30 17:10:11 UTC (rev 275210)
@@ -40,7 +40,10 @@
class WebPageProxy;
-class RemoteMediaSessionCoordinatorProxy : public IPC::MessageReceiver, public RefCounted<RemoteMediaSessionCoordinatorProxy> {
+class RemoteMediaSessionCoordinatorProxy
+ : public IPC::MessageReceiver
+ , public RefCounted<RemoteMediaSessionCoordinatorProxy>
+ , public WebCore::MediaSessionCoordinatorClient {
WTF_MAKE_FAST_ALLOCATED;
public:
static Ref<RemoteMediaSessionCoordinatorProxy> create(WebPageProxy&, Ref<MediaSessionCoordinatorPrivateProxy>&&);
@@ -68,6 +71,12 @@
void readyStateChanged(WebCore::MediaSessionReadyState);
void playbackStateChanged(WebCore::MediaSessionPlaybackState);
+ // MediaSessionCoordinatorClient
+ void seekSessionToTime(double, CompletionHandler<void(bool)>&&) final;
+ void playSession(CompletionHandler<void(bool)>&&) final;
+ void pauseSession(CompletionHandler<void(bool)>) final;
+ void setSessionTrack(const String&, CompletionHandler<void(bool)>) final;
+
WebPageProxy& m_webPageProxy;
Ref<MediaSessionCoordinatorPrivateProxy> m_privateCoordinator;
Ref<const Logger> m_logger;
Modified: trunk/Source/WebKit/WebProcess/MediaSession/RemoteMediaSessionCoordinator.messages.in (275209 => 275210)
--- trunk/Source/WebKit/WebProcess/MediaSession/RemoteMediaSessionCoordinator.messages.in 2021-03-30 17:07:47 UTC (rev 275209)
+++ trunk/Source/WebKit/WebProcess/MediaSession/RemoteMediaSessionCoordinator.messages.in 2021-03-30 17:10:11 UTC (rev 275210)
@@ -27,13 +27,13 @@
messages -> RemoteMediaSessionCoordinator NotRefCounted {
- seekSessionToTime(double time) -> (bool result) Async
+ SeekSessionToTime(double time) -> (bool result) Async
- playSession() -> (bool result) Async
+ PlaySession() -> (bool result) Async
- pauseSession() -> (bool result) Async
+ PauseSession() -> (bool result) Async
- setSessionTrack(String trackIdentifier) -> (bool result) Async
+ SetSessionTrack(String trackIdentifier) -> (bool result) Async
}
#endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes