Title: [275458] trunk/Source
Revision
275458
Author
jer.no...@apple.com
Date
2021-04-05 17:11:27 -0700 (Mon, 05 Apr 2021)

Log Message

[MediaSession] Small refactoring of MediaSession implementation classes
https://bugs.webkit.org/show_bug.cgi?id=224141

Reviewed by Eric Carlson.

A smorgasboard of small refactoring changes:

Source/WebCore:

- Don't call action handlers by default in response to coordinator requests.
- Since we don't call the action handlers, we don't need the internal methods.
- Simplify the call site by defining the action details inline.

* Modules/mediasession/MediaSessionCoordinator.cpp:
(WebCore::MediaSessionCoordinator::seekSessionToTime):
(WebCore::MediaSessionCoordinator::playSession):
(WebCore::MediaSessionCoordinator::pauseSession):
(WebCore::MediaSessionCoordinator::setSessionTrack):
(WebCore::MediaSessionCoordinator::internalSeekTo): Deleted.
(WebCore::MediaSessionCoordinator::internalPlay): Deleted.
(WebCore::MediaSessionCoordinator::internalPause): Deleted.
(WebCore::MediaSessionCoordinator::internalSetTrack): Deleted.
* Modules/mediasession/MediaSessionCoordinator.h:
* Modules/mediasession/MediaSessionCoordinatorPrivate.h:

Source/WebKit:

- MediaSessionCoordinatorProxyPrivate should use an Optional<ExceptionData> rather than
  an actual ExceptionData, to handle the case where no exception was encoutered.
- RemoteMediaSessionCoordinatorProxy::create() should just return a Ref, not a RefPtr.
- Logging inside a completion handler requires access to this.
- Add RemoteMediaSessionCoordinatorProxy.cpp to the build.

* UIProcess/Media/MediaSessionCoordinatorProxyPrivate.h:
* UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp:
(WebKit::RemoteMediaSessionCoordinatorProxy::create):
(WebKit::RemoteMediaSessionCoordinatorProxy::RemoteMediaSessionCoordinatorProxy):
(WebKit::RemoteMediaSessionCoordinatorProxy::join):
(WebKit::RemoteMediaSessionCoordinatorProxy::coordinateSeekTo):
(WebKit::RemoteMediaSessionCoordinatorProxy::coordinatePlay):
(WebKit::RemoteMediaSessionCoordinatorProxy::coordinatePause):
(WebKit::RemoteMediaSessionCoordinatorProxy::coordinateSetTrack):
(WebKit::RemoteMediaSessionCoordinatorProxy::pauseSession):
(WebKit::RemoteMediaSessionCoordinatorProxy::setSessionTrack):
(WebKit::RemoteMediaSessionCoordinatorProxy::logChannel const):
(WebKit::RemoteMediaSessionCoordinatorProxy::::coordinateSetTrack): Deleted.
* UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h:
(WebKit::RemoteMediaSessionCoordinatorProxy::logger const):
(WebKit::RemoteMediaSessionCoordinatorProxy::logIdentifier const):
(WebKit::RemoteMediaSessionCoordinatorProxy::logClassName const):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (275457 => 275458)


--- trunk/Source/WebCore/ChangeLog	2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebCore/ChangeLog	2021-04-06 00:11:27 UTC (rev 275458)
@@ -1,3 +1,28 @@
+2021-04-05  Jer Noble  <jer.no...@apple.com>
+
+        [MediaSession] Small refactoring of MediaSession implementation classes
+        https://bugs.webkit.org/show_bug.cgi?id=224141
+
+        Reviewed by Eric Carlson.
+
+        A smorgasboard of small refactoring changes:
+
+        - Don't call action handlers by default in response to coordinator requests.
+        - Since we don't call the action handlers, we don't need the internal methods.
+        - Simplify the call site by defining the action details inline.
+
+        * Modules/mediasession/MediaSessionCoordinator.cpp:
+        (WebCore::MediaSessionCoordinator::seekSessionToTime):
+        (WebCore::MediaSessionCoordinator::playSession):
+        (WebCore::MediaSessionCoordinator::pauseSession):
+        (WebCore::MediaSessionCoordinator::setSessionTrack):
+        (WebCore::MediaSessionCoordinator::internalSeekTo): Deleted.
+        (WebCore::MediaSessionCoordinator::internalPlay): Deleted.
+        (WebCore::MediaSessionCoordinator::internalPause): Deleted.
+        (WebCore::MediaSessionCoordinator::internalSetTrack): Deleted.
+        * Modules/mediasession/MediaSessionCoordinator.h:
+        * Modules/mediasession/MediaSessionCoordinatorPrivate.h:
+
 2021-04-05  Yusuke Suzuki  <ysuz...@apple.com>
 
         Define AtomString(ASCIILiteral) and use ASCIILiteral more to avoid memory allocation

Modified: trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.cpp (275457 => 275458)


--- trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.cpp	2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.cpp	2021-04-06 00:11:27 UTC (rev 275458)
@@ -292,7 +292,8 @@
         return;
     }
 
-    completionHandler(internalSeekTo(time));
+    m_session->callActionHandler({ .action = "" .seekTime = time });
+    completionHandler(true);
 }
 
 void MediaSessionCoordinator::playSession(CompletionHandler<void(bool)>&& completionHandler)
@@ -304,10 +305,11 @@
         return;
     }
 
-    completionHandler(internalPlay());
+    m_session->callActionHandler({ .action = "" });
+    completionHandler(true);
 }
 
-void MediaSessionCoordinator::pauseSession(CompletionHandler<void(bool)> completionHandler)
+void MediaSessionCoordinator::pauseSession(CompletionHandler<void(bool)>&& completionHandler)
 {
     ALWAYS_LOG(LOGIDENTIFIER, m_state);
 
@@ -316,10 +318,11 @@
         return;
     }
 
-    completionHandler(internalPause());
+    m_session->callActionHandler({ .action = "" });
+    completionHandler(true);
 }
 
-void MediaSessionCoordinator::setSessionTrack(const String& track, CompletionHandler<void(bool)> completionHandler)
+void MediaSessionCoordinator::setSessionTrack(const String& track, CompletionHandler<void(bool)>&& completionHandler)
 {
     ALWAYS_LOG(LOGIDENTIFIER, m_state, ", ", track);
 
@@ -328,63 +331,10 @@
         return;
     }
 
-    completionHandler(internalSetTrack(track));
+    m_session->callActionHandler({ .action = "" .trackIdentifier = track });
+    completionHandler(true);
 }
 
-bool MediaSessionCoordinator::internalSeekTo(double time)
-{
-    if (!m_session)
-        return false;
-
-    MediaSessionActionDetails details {
-        .action = ""
-        .seekTime = time,
-    };
-    m_session->callActionHandler(details);
-
-    return true;
-}
-
-bool MediaSessionCoordinator::internalPlay()
-{
-    if (!m_session)
-        return false;
-
-    MediaSessionActionDetails details {
-        .action = ""
-    };
-    m_session->callActionHandler(details);
-
-    return true;
-}
-
-bool MediaSessionCoordinator::internalPause()
-{
-    if (!m_session)
-        return false;
-
-    MediaSessionActionDetails details {
-        .action = ""
-    };
-    m_session->callActionHandler(details);
-
-    return true;
-}
-
-bool MediaSessionCoordinator::internalSetTrack(const String& track)
-{
-    if (!m_session)
-        return false;
-
-    MediaSessionActionDetails details {
-        .action = ""
-        .trackIdentifier = track,
-    };
-    m_session->callActionHandler(details);
-
-    return true;
-}
-
 WTFLogChannel& MediaSessionCoordinator::logChannel()
 {
     return LogMedia;

Modified: trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.h (275457 => 275458)


--- trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.h	2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.h	2021-04-06 00:11:27 UTC (rev 275458)
@@ -73,14 +73,9 @@
     // 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;
+    void pauseSession(CompletionHandler<void(bool)>&&) final;
+    void setSessionTrack(const String&, CompletionHandler<void(bool)>&&) final;
 
-    bool internalSeekTo(double);
-    bool internalPlay();
-    bool internalPause();
-    bool internalSetTrack(const String&);
-
     const Logger& logger() const { return m_logger; }
     const void* logIdentifier() const { return m_logIdentifier; }
     static WTFLogChannel& logChannel();

Modified: trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinatorPrivate.h (275457 => 275458)


--- trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinatorPrivate.h	2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinatorPrivate.h	2021-04-06 00:11:27 UTC (rev 275458)
@@ -33,6 +33,7 @@
 #include "MediaSessionPlaybackState.h"
 #include "MediaSessionReadyState.h"
 #include <wtf/Optional.h>
+#include <wtf/WeakPtr.h>
 
 namespace WTF {
 class Logger;
@@ -46,8 +47,8 @@
 
     virtual void seekSessionToTime(double, CompletionHandler<void(bool)>&&) = 0;
     virtual void playSession(CompletionHandler<void(bool)>&&) = 0;
-    virtual void pauseSession(CompletionHandler<void(bool)>) = 0;
-    virtual void setSessionTrack(const String&, CompletionHandler<void(bool)>) = 0;
+    virtual void pauseSession(CompletionHandler<void(bool)>&&) = 0;
+    virtual void setSessionTrack(const String&, CompletionHandler<void(bool)>&&) = 0;
 };
 
 class MediaSessionCoordinatorPrivate : public RefCounted<MediaSessionCoordinatorPrivate> {

Modified: trunk/Source/WebKit/ChangeLog (275457 => 275458)


--- trunk/Source/WebKit/ChangeLog	2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebKit/ChangeLog	2021-04-06 00:11:27 UTC (rev 275458)
@@ -1,5 +1,38 @@
 2021-04-05  Jer Noble  <jer.no...@apple.com>
 
+        [MediaSession] Small refactoring of MediaSession implementation classes
+        https://bugs.webkit.org/show_bug.cgi?id=224141
+
+        Reviewed by Eric Carlson.
+
+        A smorgasboard of small refactoring changes:
+
+        - MediaSessionCoordinatorProxyPrivate should use an Optional<ExceptionData> rather than
+          an actual ExceptionData, to handle the case where no exception was encoutered.
+        - RemoteMediaSessionCoordinatorProxy::create() should just return a Ref, not a RefPtr.
+        - Logging inside a completion handler requires access to this.
+        - Add RemoteMediaSessionCoordinatorProxy.cpp to the build.
+
+        * UIProcess/Media/MediaSessionCoordinatorProxyPrivate.h:
+        * UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp:
+        (WebKit::RemoteMediaSessionCoordinatorProxy::create):
+        (WebKit::RemoteMediaSessionCoordinatorProxy::RemoteMediaSessionCoordinatorProxy):
+        (WebKit::RemoteMediaSessionCoordinatorProxy::join):
+        (WebKit::RemoteMediaSessionCoordinatorProxy::coordinateSeekTo):
+        (WebKit::RemoteMediaSessionCoordinatorProxy::coordinatePlay):
+        (WebKit::RemoteMediaSessionCoordinatorProxy::coordinatePause):
+        (WebKit::RemoteMediaSessionCoordinatorProxy::coordinateSetTrack):
+        (WebKit::RemoteMediaSessionCoordinatorProxy::pauseSession):
+        (WebKit::RemoteMediaSessionCoordinatorProxy::setSessionTrack):
+        (WebKit::RemoteMediaSessionCoordinatorProxy::logChannel const):
+        (WebKit::RemoteMediaSessionCoordinatorProxy::::coordinateSetTrack): Deleted.
+        * UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h:
+        (WebKit::RemoteMediaSessionCoordinatorProxy::logger const):
+        (WebKit::RemoteMediaSessionCoordinatorProxy::logIdentifier const):
+        (WebKit::RemoteMediaSessionCoordinatorProxy::logClassName const):
+
+2021-04-05  Jer Noble  <jer.no...@apple.com>
+
         [Cocoa] Calling AudioComponentFetchServerRegistrations on main thread causes launch time regression
         https://bugs.webkit.org/show_bug.cgi?id=224137
         <rdar://76137483>

Modified: trunk/Source/WebKit/UIProcess/Media/MediaSessionCoordinatorProxyPrivate.h (275457 => 275458)


--- trunk/Source/WebKit/UIProcess/Media/MediaSessionCoordinatorProxyPrivate.h	2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebKit/UIProcess/Media/MediaSessionCoordinatorProxyPrivate.h	2021-04-06 00:11:27 UTC (rev 275458)
@@ -27,6 +27,7 @@
 
 #if ENABLE(MEDIA_SESSION_COORDINATOR)
 
+#include <WebCore/ExceptionData.h>
 #include <WebCore/MediaSessionCoordinatorPrivate.h>
 #include <wtf/RefPtr.h>
 #include <wtf/WeakPtr.h>
@@ -41,10 +42,12 @@
 
     virtual String identifier() const = 0;
 
-    virtual void seekTo(double, CompletionHandler<void(const WebCore::ExceptionData&)>&&) = 0;
-    virtual void play(CompletionHandler<void(const WebCore::ExceptionData&)>&&) = 0;
-    virtual void pause(CompletionHandler<void(const WebCore::ExceptionData&)>&&) = 0;
-    virtual void setTrack(const String&, CompletionHandler<void(const WebCore::ExceptionData&)>&&) = 0;
+    virtual void join(CompletionHandler<void(Optional<WebCore::ExceptionData>&&)>&&) = 0;
+    virtual void leave() = 0;
+    virtual void seekTo(double, CompletionHandler<void(Optional<WebCore::ExceptionData>&&)>&&) = 0;
+    virtual void play(CompletionHandler<void(Optional<WebCore::ExceptionData>&&)>&&) = 0;
+    virtual void pause(CompletionHandler<void(Optional<WebCore::ExceptionData>&&)>&&) = 0;
+    virtual void setTrack(const String&, CompletionHandler<void(Optional<WebCore::ExceptionData>&&)>&&) = 0;
 
     virtual void positionStateChanged(const Optional<WebCore::MediaPositionState>&) = 0;
     virtual void readyStateChanged(WebCore::MediaSessionReadyState) = 0;

Modified: trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp (275457 => 275458)


--- trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp	2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp	2021-04-06 00:11:27 UTC (rev 275458)
@@ -30,16 +30,23 @@
 
 #include "MediaSessionCoordinatorProxyPrivate.h"
 #include "RemoteMediaSessionCoordinatorMessages.h"
+#include "RemoteMediaSessionCoordinatorProxyMessages.h"
 #include "WebPageProxy.h"
 #include "WebProcessProxy.h"
 #include <WebCore/ExceptionData.h>
+#include <wtf/Logger.h>
+#include <wtf/LoggerHelper.h>
 #include <wtf/MainThread.h>
 #include <wtf/RunLoop.h>
 
+namespace WebCore {
+extern WTFLogChannel LogMedia;
+}
+
 namespace WebKit {
 using namespace WebCore;
 
-RefPtr<RemoteMediaSessionCoordinatorProxy> RemoteMediaSessionCoordinatorProxy::create(WebPageProxy& webPageProxy, Ref<MediaSessionCoordinatorProxyPrivate>&& privateCoordinator)
+Ref<RemoteMediaSessionCoordinatorProxy> RemoteMediaSessionCoordinatorProxy::create(WebPageProxy& webPageProxy, Ref<MediaSessionCoordinatorProxyPrivate>&& privateCoordinator)
 {
     return adoptRef(*new RemoteMediaSessionCoordinatorProxy(webPageProxy, WTFMove(privateCoordinator)));
 }
@@ -47,8 +54,10 @@
 RemoteMediaSessionCoordinatorProxy::RemoteMediaSessionCoordinatorProxy(WebPageProxy& webPageProxy, Ref<MediaSessionCoordinatorProxyPrivate>&& privateCoordinator)
     : m_webPageProxy(webPageProxy)
     , m_privateCoordinator(WTFMove(privateCoordinator))
+#if !RELEASE_LOG_DISABLED
     , m_logger(m_webPageProxy.logger())
-    , m_logIdentifier(uniqueLogIdentifier())
+    , m_logIdentifier(LoggerHelper::uniqueLogIdentifier())
+#endif
 {
     m_webPageProxy.process().addMessageReceiver(Messages::RemoteMediaSessionCoordinatorProxy::messageReceiverName(), m_webPageProxy.webPageID(), *this);
 }
@@ -58,12 +67,12 @@
     m_webPageProxy.process().removeMessageReceiver(Messages::RemoteMediaSessionCoordinatorProxy::messageReceiverName(), m_webPageProxy.webPageID());
 }
 
-void RemoteMediaSessionCoordinatorProxy::join(CompletionHandler<void(const WebCore::ExceptionData&)>&&)
+void RemoteMediaSessionCoordinatorProxy::join(CommandCompletionHandler&& completionHandler)
 {
     auto identifier = LOGIDENTIFIER;
     ALWAYS_LOG(identifier);
 
-    m_privateCoordinator->join([identifier] (const WebCore::ExceptionData&& exception) mutable {
+    m_privateCoordinator->join([this, protectedThis = makeRef(*this), identifier, completionHandler = WTFMove(completionHandler)] (Optional<ExceptionData>&& exception) mutable {
         ALWAYS_LOG(identifier, "completion");
         completionHandler(WTFMove(exception));
     });
@@ -76,45 +85,45 @@
     m_privateCoordinator->leave();
 }
 
-void RemoteMediaSessionCoordinatorProxy::coordinateSeekTo(double time, CompletionHandler<void(const WebCore::ExceptionData&)>&& completionHandler)
+void RemoteMediaSessionCoordinatorProxy::coordinateSeekTo(double time, CommandCompletionHandler&& completionHandler)
 {
     auto identifier = LOGIDENTIFIER;
     ALWAYS_LOG(identifier, time);
 
-    m_privateCoordinator->seekTo(time, [identifier] (const WebCore::ExceptionData&& exception) mutable {
+    m_privateCoordinator->seekTo(time, [this, protectedThis = makeRef(*this), identifier, completionHandler = WTFMove(completionHandler)] (Optional<ExceptionData>&& exception) mutable {
         ALWAYS_LOG(identifier, "completion");
         completionHandler(WTFMove(exception));
     });
 }
 
-void RemoteMediaSessionCoordinatorProxy::coordinatePlay(CompletionHandler<void(const WebCore::ExceptionData&)>&& completionHandler)
+void RemoteMediaSessionCoordinatorProxy::coordinatePlay(CommandCompletionHandler&& completionHandler)
 {
     auto identifier = LOGIDENTIFIER;
     ALWAYS_LOG(identifier);
 
-    m_privateCoordinator->play([identifier] (const WebCore::ExceptionData&& exception) mutable {
+    m_privateCoordinator->play([this, protectedThis = makeRef(*this), identifier, completionHandler = WTFMove(completionHandler)] (Optional<ExceptionData>&& exception) mutable {
         ALWAYS_LOG(identifier, "completion");
         completionHandler(WTFMove(exception));
     });
 }
 
-void RemoteMediaSessionCoordinatorProxy::coordinatePause(CompletionHandler<void(const WebCore::ExceptionData&)>&& completionHandler)
+void RemoteMediaSessionCoordinatorProxy::coordinatePause(CommandCompletionHandler&& completionHandler)
 {
     auto identifier = LOGIDENTIFIER;
     ALWAYS_LOG(identifier);
 
-    m_privateCoordinator->pause([identifier] (const WebCore::ExceptionData&& exception) mutable {
+    m_privateCoordinator->pause([this, protectedThis = makeRef(*this), identifier, completionHandler = WTFMove(completionHandler)] (Optional<ExceptionData>&& exception) mutable {
         ALWAYS_LOG(identifier, "completion");
         completionHandler(WTFMove(exception));
     });
 }
 
-void RemoteMediaSessionCoordinatorProxy::::coordinateSetTrack(const String& track, CompletionHandler<void(const WebCore::ExceptionData&)>&& completionHandler)
+void RemoteMediaSessionCoordinatorProxy::coordinateSetTrack(const String& track, CommandCompletionHandler&& completionHandler)
 {
     auto identifier = LOGIDENTIFIER;
     ALWAYS_LOG(identifier);
 
-    m_privateCoordinator->setTrack(track, [identifier] (const WebCore::ExceptionData&& exception) mutable {
+    m_privateCoordinator->setTrack(track, [this, protectedThis = makeRef(*this), identifier, completionHandler = WTFMove(completionHandler)] (Optional<ExceptionData>&& exception) mutable {
         ALWAYS_LOG(identifier, "completion");
         completionHandler(WTFMove(exception));
     });
@@ -148,12 +157,12 @@
     m_webPageProxy.sendWithAsyncReply(Messages::RemoteMediaSessionCoordinator::PlaySession { }, callback);
 }
 
-void RemoteMediaSessionCoordinatorProxy::pauseSession(CompletionHandler<void(bool)> 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)
+void RemoteMediaSessionCoordinatorProxy::setSessionTrack(const String& trackId, CompletionHandler<void(bool)>&& callback)
 {
     m_webPageProxy.sendWithAsyncReply(Messages::RemoteMediaSessionCoordinator::SetSessionTrack { trackId }, callback);
 }
@@ -164,6 +173,13 @@
     m_privateCoordinator->coordinatorStateChanged(state);
 }
 
+#if !RELEASE_LOG_DISABLED
+WTFLogChannel& RemoteMediaSessionCoordinatorProxy::logChannel() const
+{
+    return LogMedia;
+}
+#endif
+
 } // namespace WebKit
 
 #endif // ENABLE(MEDIA_SESSION_COORDINATOR)

Modified: trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h (275457 => 275458)


--- trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h	2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h	2021-04-06 00:11:27 UTC (rev 275458)
@@ -66,13 +66,14 @@
     void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
 
     // Receivers.
-    void join(CompletionHandler<void(const WebCore::ExceptionData&)>&&);
+    using CommandCompletionHandler = CompletionHandler<void(Optional<WebCore::ExceptionData>&&)>;
+    void join(CommandCompletionHandler&&);
     void leave();
-    void coordinateSeekTo(double, CompletionHandler<void(const WebCore::ExceptionData&)>&&);
-    void coordinatePlay(CompletionHandler<void(const WebCore::ExceptionData&)>&&);
-    void coordinatePause(CompletionHandler<void(const WebCore::ExceptionData&)>&&);
-    void coordinateSetTrack(const String&, CompletionHandler<void(const WebCore::ExceptionData&)>&&);
-    void positionStateChanged(Optional<WebCore::MediaPositionState>);
+    void coordinateSeekTo(double, CommandCompletionHandler&&);
+    void coordinatePlay(CommandCompletionHandler&&);
+    void coordinatePause(CommandCompletionHandler&&);
+    void coordinateSetTrack(const String&, CommandCompletionHandler&&);
+    void positionStateChanged(const Optional<WebCore::MediaPositionState>&);
     void readyStateChanged(WebCore::MediaSessionReadyState);
     void playbackStateChanged(WebCore::MediaSessionPlaybackState);
     void coordinatorStateChanged(WebCore::MediaSessionCoordinatorState);
@@ -80,13 +81,22 @@
     // 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;
+    void pauseSession(CompletionHandler<void(bool)>&&) final;
+    void setSessionTrack(const String&, CompletionHandler<void(bool)>&&) final;
 
+#if !RELEASE_LOG_DISABLED
+    const WTF::Logger& logger() const { return m_logger; }
+    const void* logIdentifier() const { return m_logIdentifier; }
+    const char* logClassName() const { return "RemoteMediaSessionCoordinatorProxy"; }
+    WTFLogChannel& logChannel() const;
+#endif
+
     WebPageProxy& m_webPageProxy;
     Ref<MediaSessionCoordinatorProxyPrivate> m_privateCoordinator;
-    Ref<const Logger> m_logger;
+#if !RELEASE_LOG_DISABLED
+    Ref<const WTF::Logger> m_logger;
     const void* m_logIdentifier;
+#endif
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (275457 => 275458)


--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2021-04-06 00:11:27 UTC (rev 275458)
@@ -1864,6 +1864,7 @@
 		CD0C6831201FD10100A59409 /* WKFullScreenViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = CD0C682F201FD10100A59409 /* WKFullScreenViewController.h */; };
 		CD19A26E1A13E834008D650E /* WebDiagnosticLoggingClient.h in Headers */ = {isa = PBXBuildFile; fileRef = CD19A26A1A13E821008D650E /* WebDiagnosticLoggingClient.h */; };
 		CD19D2EA2046406F0017074A /* FullscreenTouchSecheuristic.h in Headers */ = {isa = PBXBuildFile; fileRef = CD19D2E82046406F0017074A /* FullscreenTouchSecheuristic.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		CD1FE2D72613E18600ADC29B /* RemoteMediaSessionCoordinatorProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0736B75C260D4A4E00E06994 /* RemoteMediaSessionCoordinatorProxy.cpp */; };
 		CD3EEF462579C261006563BB /* RemoteMediaEngineConfigurationFactoryProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD3EEF442579C1D4006563BB /* RemoteMediaEngineConfigurationFactoryProxyMessageReceiver.cpp */; };
 		CD4570D3244113B500A3DCEB /* AudioSessionRoutingArbitratorProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD4570D02441014A00A3DCEB /* AudioSessionRoutingArbitratorProxyMessageReceiver.cpp */; };
 		CD4570D424411D0F00A3DCEB /* AudioSessionRoutingArbitrator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD4570CB2440FB2A00A3DCEB /* AudioSessionRoutingArbitrator.cpp */; };
@@ -14005,6 +14006,7 @@
 				071BC58F23CE1EAA00680D7C /* RemoteMediaPlayerProxyMessageReceiver.cpp in Sources */,
 				1D4D737023A9E54700717A25 /* RemoteMediaResourceManagerMessageReceiver.cpp in Sources */,
 				077BA56E260E6D1C0072F19F /* RemoteMediaSessionCoordinator.cpp in Sources */,
+				CD1FE2D72613E18600ADC29B /* RemoteMediaSessionCoordinatorProxy.cpp in Sources */,
 				1DD2A6632561246F00FF7B6F /* RemoteMediaSourceProxyMessageReceiver.cpp in Sources */,
 				1AC1338518590C4600F3EC05 /* RemoteObjectRegistryMessageReceiver.cpp in Sources */,
 				CD8252E225D4919100862FD8 /* RemoteRemoteCommandListenerMessageReceiver.cpp in Sources */,
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to