summaryrefslogtreecommitdiffstats
path: root/content/public/common/manifest.h
diff options
context:
space:
mode:
Diffstat (limited to 'content/public/common/manifest.h')
-rw-r--r--content/public/common/manifest.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/content/public/common/manifest.h b/content/public/common/manifest.h
index 35a49b1..949c610 100644
--- a/content/public/common/manifest.h
+++ b/content/public/common/manifest.h
@@ -5,6 +5,8 @@
#ifndef CONTENT_PUBLIC_COMMON_MANIFEST_H_
#define CONTENT_PUBLIC_COMMON_MANIFEST_H_
+#include <vector>
+
#include "base/strings/nullable_string16.h"
#include "content/common/content_export.h"
#include "third_party/WebKit/public/platform/WebScreenOrientationLockType.h"
@@ -24,6 +26,29 @@ struct CONTENT_EXPORT Manifest {
DISPLAY_MODE_BROWSER
};
+ // Structure representing an icon as per the Manifest specification, see:
+ // http://w3c.github.io/manifest/#dfn-icon-object
+ struct CONTENT_EXPORT Icon {
+ Icon();
+ ~Icon();
+
+ // MUST be a valid url. If an icon doesn't have a valid URL, it will not be
+ // successfully parsed, thus will not be represented in the Manifest.
+ GURL src;
+
+ // Null if the parsing failed or the field was not present. The type can be
+ // any string and doesn't have to be a valid image MIME type at this point.
+ // It is up to the consumer of the object to check if the type matches a
+ // supported type.
+ base::NullableString16 type;
+
+ // Default value is 1.0 if the value is missing or invalid.
+ double density;
+
+ // Default density. Set to 1.0.
+ static const double kDefaultDensity;
+ };
+
Manifest();
~Manifest();
@@ -48,6 +73,10 @@ struct CONTENT_EXPORT Manifest {
// field was not present.
blink::WebScreenOrientationLockType orientation;
+ // Empty if the parsing failed, the field was not present, empty or all the
+ // icons inside the JSON array were invalid.
+ std::vector<Icon> icons;
+
// Maximum length for all the strings inside the Manifest when it is sent over
// IPC. The renderer process should truncate the strings before sending the
// Manifest and the browser process must do the same when receiving it.