| 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..ed473290ea14a863062d9e324356b9b4d0e6e2f6 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.artwork())
|
| + m_artwork.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::artwork() const
|
| +{
|
| + return m_artwork;
|
| +}
|
| +
|
| +MediaMetadata::operator WebMediaMetadata() const
|
| +{
|
| + WebMediaMetadata webMetadata;
|
| + webMetadata.title = m_title;
|
| + webMetadata.artist = m_artist;
|
| + webMetadata.album = m_album;
|
| + WebVector<WebMediaArtwork> webArtwork(m_artwork.size());
|
| + for (size_t i = 0; i < m_artwork.size(); ++i) {
|
| + webArtwork[i] = *m_artwork[i]->data();
|
| + }
|
| + webMetadata.artwork.swap(webArtwork);
|
| + return webMetadata;
|
| +}
|
| +
|
| +DEFINE_TRACE(MediaMetadata)
|
| +{
|
| + visitor->trace(m_artwork);
|
| }
|
|
|
| } // namespace blink
|
|
|