Index: content/browser/media/android/browser_media_session_manager.cc |
diff --git a/content/browser/media/android/browser_media_session_manager.cc b/content/browser/media/android/browser_media_session_manager.cc |
index a7e5fd5bbfa28e38fdeb8ac7290cacdf3c34f1ec..6a77a3aa9fe3d2311a9a87b9cf8747076983ccfb 100644 |
--- a/content/browser/media/android/browser_media_session_manager.cc |
+++ b/content/browser/media/android/browser_media_session_manager.cc |
@@ -4,6 +4,8 @@ |
#include "content/browser/media/android/browser_media_session_manager.h" |
+#include "content/browser/media/session/media_session.h" |
+#include "content/browser/web_contents/web_contents_impl.h" |
#include "content/common/media/media_session_messages_android.h" |
#include "content/public/browser/render_frame_host.h" |
#include "content/public/browser/render_process_host.h" |
@@ -37,13 +39,22 @@ void BrowserMediaSessionManager::OnSetMetadata( |
insecure_metadata.artist.substr(0, MediaMetadata::kMaxIPCStringLength); |
metadata.album = |
insecure_metadata.album.substr(0, MediaMetadata::kMaxIPCStringLength); |
+ for (const MediaMetadata::Artwork& artwork : insecure_metadata.artwork) { |
palmer
2016/06/20 21:34:21
Nit: using auto here and possibly on line 43 would
Zhiqiang Zhang (Slow)
2016/06/21 11:08:42
Done.
|
+ base::Optional<MediaMetadata::Artwork> sanitized_artwork = |
+ MediaMetadata::SanitizeArtwork(artwork); |
+ if (sanitized_artwork) |
+ metadata.artwork.push_back(sanitized_artwork.value()); |
+ } |
if (metadata != insecure_metadata) { |
render_frame_host_->GetProcess()->ShutdownForBadMessage(); |
return; |
} |
- NOTIMPLEMENTED(); |
+ WebContentsImpl* contents = static_cast<WebContentsImpl*>( |
+ WebContents::FromRenderFrameHost(render_frame_host_)); |
+ if (contents) |
+ MediaSession::Get(contents)->SetMetadata(metadata); |
} |
int BrowserMediaSessionManager::GetRoutingID() const { |