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..fb46b0fe69a07280db28460225b4d76651abdf8f 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,6 +39,15 @@ 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.artwork.size() >= MediaMetadata::kMaxNumberOfArtworkImages) |
+ break; |
+ } |
if (metadata != insecure_metadata) { |
render_frame_host_->GetProcess()->ShutdownForBadMessage(); |