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

Unified Diff: content/public/common/media_metadata.h

Issue 2015433003: Implement MediaMetadata artwork in content (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed reviewers' comments 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: content/public/common/media_metadata.h
diff --git a/content/public/common/media_metadata.h b/content/public/common/media_metadata.h
index 3d7f13c59366caac20a29ed98b79c0d8a8478d58..eda167571d86d9da17261d90862e8a918e6ee982 100644
--- a/content/public/common/media_metadata.h
+++ b/content/public/common/media_metadata.h
@@ -5,20 +5,34 @@
#ifndef CONTENT_PUBLIC_COMMON_MEDIA_METADATA_H_
#define CONTENT_PUBLIC_COMMON_MEDIA_METADATA_H_
+#include <vector>
+
+#include "base/optional.h"
#include "base/strings/string16.h"
#include "content/common/content_export.h"
+#include "content/public/common/manifest.h"
namespace content {
// The MediaMetadata is a structure carrying information associated to a
// content::MediaSession.
struct CONTENT_EXPORT MediaMetadata {
+ // TODO(zqzhang): move |Manifest::Icon| to a common place. See
+ // https://crbug.com/621859.
+ using Artwork = Manifest::Icon;
+
MediaMetadata();
~MediaMetadata();
+ MediaMetadata(const MediaMetadata& other);
+
bool operator==(const MediaMetadata& other) const;
bool operator!=(const MediaMetadata& other) const;
+ // Apply validity checks and sanitize |artwork|. Returns null if
+ // |artwork| does not pass validity checks.
+ static base::Optional<Artwork> SanitizeArtwork(const Artwork& artwork);
+
// Title associated to the MediaSession.
base::string16 title;
@@ -28,11 +42,17 @@ struct CONTENT_EXPORT MediaMetadata {
// Album associated to the MediaSession.
base::string16 album;
+ // Artwork associated to the MediaSession.
+ std::vector<Artwork> artwork;
+
// Maximum length for all the strings inside the MediaMetadata when it is sent
// over IPC. The renderer process should truncate the strings before sending
// the MediaMetadata and the browser process must do the same when receiving
// it.
static const size_t kMaxIPCStringLength;
+
+ // Maximum number of artwork images inside the MediaMetadata.
+ static const size_t kMaxNumberOfArtworkImages;
};
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698