Index: content/renderer/media/android/webmediasession_android.cc |
diff --git a/content/renderer/media/android/webmediasession_android.cc b/content/renderer/media/android/webmediasession_android.cc |
index c1a936d1e25c6b70a24dd21cf26fdc57c03a66dd..d13576f5f149cda03354911c62eac3665d461633 100644 |
--- a/content/renderer/media/android/webmediasession_android.cc |
+++ b/content/renderer/media/android/webmediasession_android.cc |
@@ -10,6 +10,8 @@ |
#include "base/memory/ptr_util.h" |
#include "content/public/common/media_metadata.h" |
#include "content/renderer/media/android/renderer_media_session_manager.h" |
+#include "third_party/WebKit/public/platform/WebIconSizesParser.h" |
+#include "third_party/WebKit/public/platform/WebSize.h" |
#include "third_party/WebKit/public/platform/modules/mediasession/WebMediaMetadata.h" |
namespace content { |
@@ -42,6 +44,14 @@ void WebMediaSessionAndroid::setMetadata( |
metadata.title = web_metadata->title; |
metadata.artist = web_metadata->artist; |
metadata.album = web_metadata->album; |
+ for (const auto& web_artwork : web_metadata->artwork) { |
+ MediaMetadata::Artwork artwork; |
+ artwork.src = GURL(base::string16(web_artwork.src)); |
+ artwork.type = web_artwork.type; |
+ blink::WebVector<blink::WebSize> web_sizes = |
+ blink::WebIconSizesParser::parseIconSizes(web_artwork.sizes); |
+ std::copy(web_sizes.begin(), web_sizes.end(), artwork.sizes.begin()); |
+ } |
} |
session_manager_->SetMetadata(media_session_id_, metadata); |