Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(508)

Unified Diff: third_party/WebKit/Source/modules/mediasession/MediaMetadata.cpp

Issue 2013813002: Implement MediaMetadata artwork in Blink (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: removed the copy of WebMediaMetadata from MediaMetadata Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/mediasession/MediaMetadata.cpp
diff --git a/third_party/WebKit/Source/modules/mediasession/MediaMetadata.cpp b/third_party/WebKit/Source/modules/mediasession/MediaMetadata.cpp
index 438764db1a5f7f40116e94eef11ee1412624491d..10a67b6ba8fe664ca942fe167d833953fb6afb0a 100644
--- a/third_party/WebKit/Source/modules/mediasession/MediaMetadata.cpp
+++ b/third_party/WebKit/Source/modules/mediasession/MediaMetadata.cpp
@@ -4,37 +4,64 @@
#include "modules/mediasession/MediaMetadata.h"
+#include "core/dom/ExecutionContext.h"
+#include "modules/mediasession/MediaArtwork.h"
#include "modules/mediasession/MediaMetadataInit.h"
-#include "wtf/text/WTFString.h"
namespace blink {
// static
-MediaMetadata* MediaMetadata::create(const MediaMetadataInit& metadata)
+MediaMetadata* MediaMetadata::create(ExecutionContext* context, const MediaMetadataInit& metadata)
{
- return new MediaMetadata(metadata);
+ return new MediaMetadata(context, metadata);
}
-MediaMetadata::MediaMetadata(const MediaMetadataInit& metadata)
+MediaMetadata::MediaMetadata(ExecutionContext* context, const MediaMetadataInit& metadata)
{
- m_data.title = metadata.title();
- m_data.artist = metadata.artist();
- m_data.album = metadata.album();
+ m_title = metadata.title();
+ m_artist = metadata.artist();
+ m_album = metadata.album();
+ for (const auto &artwork : metadata.artworks())
+ m_artworks.append(MediaArtwork::create(context, artwork));
}
String MediaMetadata::title() const
{
- return m_data.title;
+ return m_title;
}
String MediaMetadata::artist() const
{
- return m_data.artist;
+ return m_artist;
}
String MediaMetadata::album() const
{
- return m_data.album;
+ return m_album;
+}
+
+const HeapVector<Member<MediaArtwork>>& MediaMetadata::artworks() const
+{
+ return m_artworks;
+}
+
+MediaMetadata::operator WebMediaMetadata() const
+{
+ WebMediaMetadata webMetadata;
+ webMetadata.title = m_title;
+ webMetadata.artist = m_artist;
+ webMetadata.album = m_album;
+ WebVector<WebMediaArtwork> webArtworks(m_artworks.size());
+ for (size_t i = 0; i < m_artworks.size(); ++i) {
+ webArtworks[i] = *m_artworks[i]->data();
+ }
+ webMetadata.artworks.swap(webArtworks);
+ return webMetadata;
+}
+
+DEFINE_TRACE(MediaMetadata)
+{
+ visitor->trace(m_artworks);
}
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698