| Index: content/browser/web_contents/web_contents_impl.cc
|
| diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
| index 683bd7154d435222b2627e276aa7c6a001a10d12..6df95d6b5f1df886b2e810b6c78a0b06780f2e78 100644
|
| --- a/content/browser/web_contents/web_contents_impl.cc
|
| +++ b/content/browser/web_contents/web_contents_impl.cc
|
| @@ -132,6 +132,7 @@
|
| #if defined(OS_ANDROID)
|
| #include "content/browser/android/content_video_view.h"
|
| #include "content/browser/android/date_time_chooser_android.h"
|
| +#include "content/browser/media/android/browser_media_session_manager.h"
|
| #include "content/browser/media/android/media_web_contents_observer_android.h"
|
| #include "content/browser/web_contents/web_contents_android.h"
|
| #endif // OS_ANDROID
|
| @@ -3814,10 +3815,20 @@ void WebContentsImpl::OnUpdateFaviconURL(
|
|
|
| void WebContentsImpl::OnMediaSessionStateChanged() {
|
| MediaSession* session = MediaSession::Get(this);
|
| + base::Optional<MediaMetadata> metadata;
|
| +#if defined(OS_ANDROID)
|
| + BrowserMediaSessionManager* session_manager =
|
| + static_cast<MediaWebContentsObserverAndroid*>(
|
| + media_web_contents_observer())
|
| + ->GetMediaSessionManager(GetMainFrame());
|
| + if (session_manager->media_metadata()) {
|
| + metadata = *session_manager->media_metadata();
|
| + }
|
| +#endif // defined(OS_ANDROID)
|
| FOR_EACH_OBSERVER(WebContentsObserver, observers_,
|
| MediaSessionStateChanged(session->IsControllable(),
|
| session->IsSuspended(),
|
| - session->metadata()));
|
| + metadata));
|
| }
|
|
|
| void WebContentsImpl::ResumeMediaSession() {
|
|
|