| 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
|
|
|