Index: third_party/WebKit/Source/modules/mediasession/MediaSession.cpp |
diff --git a/third_party/WebKit/Source/modules/mediasession/MediaSession.cpp b/third_party/WebKit/Source/modules/mediasession/MediaSession.cpp |
index 5f47c82ef3f575561dc51bb84d86787eb00be185..7e89c1f367c6b97ac2a61e4ebcfc25e085ef937d 100644 |
--- a/third_party/WebKit/Source/modules/mediasession/MediaSession.cpp |
+++ b/third_party/WebKit/Source/modules/mediasession/MediaSession.cpp |
@@ -28,6 +28,11 @@ MediaSession* MediaSession::create(ExecutionContext* context, ExceptionState& ex |
{ |
Document* document = toDocument(context); |
LocalFrame* frame = document->frame(); |
+ return create(frame, exceptionState); |
+} |
+ |
+MediaSession* MediaSession::create(LocalFrame* frame, ExceptionState& exceptionState) |
+{ |
FrameLoaderClient* client = frame->loader().client(); |
std::unique_ptr<WebMediaSession> webMediaSession = client->createWebMediaSession(); |
if (!webMediaSession) { |
@@ -43,6 +48,7 @@ ScriptPromise MediaSession::activate(ScriptState* scriptState) |
ScriptPromise promise = resolver->promise(); |
m_webMediaSession->activate(new CallbackPromiseAdapter<void, MediaSessionError>(resolver)); |
+ |
return promise; |
} |
@@ -58,6 +64,7 @@ ScriptPromise MediaSession::deactivate(ScriptState* scriptState) |
void MediaSession::setMetadata(MediaMetadata* metadata) |
{ |
m_metadata = metadata; |
+ |
if (metadata) { |
WebMediaMetadata webMetadata = (WebMediaMetadata) *metadata; |
m_webMediaSession->setMetadata(&webMetadata); |