| 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);
|
|
|