Index: third_party/WebKit/Source/modules/mediasession/MediaSession.h |
diff --git a/third_party/WebKit/Source/modules/mediasession/MediaSession.h b/third_party/WebKit/Source/modules/mediasession/MediaSession.h |
index d41724159b7d86fdb6aa09d01fdf4403868c6fee..4277d6096accff946cde69c6047618167245ce80 100644 |
--- a/third_party/WebKit/Source/modules/mediasession/MediaSession.h |
+++ b/third_party/WebKit/Source/modules/mediasession/MediaSession.h |
@@ -8,6 +8,7 @@ |
#include "bindings/core/v8/ScriptWrappable.h" |
#include "core/events/EventTarget.h" |
#include "modules/ModulesExport.h" |
+#include "mojo/public/cpp/bindings/binding.h" |
#include "platform/heap/Handle.h" |
#include "public/platform/modules/mediasession/media_session.mojom-blink.h" |
#include <memory> |
@@ -17,12 +18,17 @@ namespace blink { |
class MediaMetadata; |
class ScriptState; |
-class MODULES_EXPORT MediaSession final : public EventTargetWithInlineData { |
+class MODULES_EXPORT MediaSession final |
+ : public EventTargetWithInlineData, |
+ blink::mojom::blink::MediaSessionClient { |
DEFINE_WRAPPERTYPEINFO(); |
+ USING_PRE_FINALIZER(MediaSession, dispose); |
public: |
static MediaSession* create(ScriptState*); |
+ void dispose(); |
+ |
void setMetadata(MediaMetadata*); |
MediaMetadata* metadata() const; |
@@ -54,12 +60,16 @@ class MODULES_EXPORT MediaSession final : public EventTargetWithInlineData { |
const EventListener*, |
const EventListenerOptions&) override; |
+ // blink::mojom::blink::MediaSessionClient implementation. |
+ void DidReceivedAction(blink::mojom::blink::MediaSessionAction) override; |
+ |
// Returns null when the ExecutionContext is not document. |
mojom::blink::MediaSessionService* getService(ScriptState*); |
RefPtr<ScriptState> m_scriptState; |
Member<MediaMetadata> m_metadata; |
mojom::blink::MediaSessionServicePtr m_service; |
+ mojo::Binding<blink::mojom::blink::MediaSessionClient> m_clientBinding; |
}; |
} // namespace blink |