Chromium Code Reviews| 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..d8de7e3ccd43aafef1c5523ff2f7dc0b0f1b713c 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 auto& artwork : insecure_metadata.artwork) { |
| + auto 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); |
|
mlamouri (slow - plz ping)
2016/06/21 13:19:46
I guess you did that to test your change. Though,
Zhiqiang Zhang (Slow)
2016/06/21 16:35:21
Done.
|
| } |
| int BrowserMediaSessionManager::GetRoutingID() const { |