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

Side by Side Diff: content/public/common/manifest.h

Issue 590563002: Add support for icons.{src,type,density} in Manifest. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: EXPORT Manifest::Icon Created 6 years, 3 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 unified diff | Download patch
« no previous file with comments | « content/common/manifest_manager_messages.h ('k') | content/public/common/manifest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_PUBLIC_COMMON_MANIFEST_H_ 5 #ifndef CONTENT_PUBLIC_COMMON_MANIFEST_H_
6 #define CONTENT_PUBLIC_COMMON_MANIFEST_H_ 6 #define CONTENT_PUBLIC_COMMON_MANIFEST_H_
7 7
8 #include <vector>
9
8 #include "base/strings/nullable_string16.h" 10 #include "base/strings/nullable_string16.h"
9 #include "content/common/content_export.h" 11 #include "content/common/content_export.h"
10 #include "third_party/WebKit/public/platform/WebScreenOrientationLockType.h" 12 #include "third_party/WebKit/public/platform/WebScreenOrientationLockType.h"
11 #include "url/gurl.h" 13 #include "url/gurl.h"
12 14
13 namespace content { 15 namespace content {
14 16
15 // The Manifest structure is an internal representation of the Manifest file 17 // The Manifest structure is an internal representation of the Manifest file
16 // described in the "Manifest for Web Application" document: 18 // described in the "Manifest for Web Application" document:
17 // http://w3c.github.io/manifest/ 19 // http://w3c.github.io/manifest/
18 struct CONTENT_EXPORT Manifest { 20 struct CONTENT_EXPORT Manifest {
19 enum DisplayMode { 21 enum DisplayMode {
20 DISPLAY_MODE_UNSPECIFIED, 22 DISPLAY_MODE_UNSPECIFIED,
21 DISPLAY_MODE_FULLSCREEN, 23 DISPLAY_MODE_FULLSCREEN,
22 DISPLAY_MODE_STANDALONE, 24 DISPLAY_MODE_STANDALONE,
23 DISPLAY_MODE_MINIMAL_UI, 25 DISPLAY_MODE_MINIMAL_UI,
24 DISPLAY_MODE_BROWSER 26 DISPLAY_MODE_BROWSER
25 }; 27 };
26 28
29 // Structure representing an icon as per the Manifest specification, see:
30 // http://w3c.github.io/manifest/#dfn-icon-object
31 struct CONTENT_EXPORT Icon {
32 Icon();
33 ~Icon();
34
35 // MUST be a valid url. If an icon doesn't have a valid URL, it will not be
36 // successfully parsed, thus will not be represented in the Manifest.
37 GURL src;
38
39 // Null if the parsing failed or the field was not present. The type can be
40 // any string and doesn't have to be a valid image MIME type at this point.
41 // It is up to the consumer of the object to check if the type matches a
42 // supported type.
43 base::NullableString16 type;
44
45 // Default value is 1.0 if the value is missing or invalid.
46 double density;
47
48 // Default density. Set to 1.0.
49 static const double kDefaultDensity;
50 };
51
27 Manifest(); 52 Manifest();
28 ~Manifest(); 53 ~Manifest();
29 54
30 // Returns whether this Manifest had no attribute set. A newly created 55 // Returns whether this Manifest had no attribute set. A newly created
31 // Manifest is always empty. 56 // Manifest is always empty.
32 bool IsEmpty() const; 57 bool IsEmpty() const;
33 58
34 // Null if the parsing failed or the field was not present. 59 // Null if the parsing failed or the field was not present.
35 base::NullableString16 name; 60 base::NullableString16 name;
36 61
37 // Null if the parsing failed or the field was not present. 62 // Null if the parsing failed or the field was not present.
38 base::NullableString16 short_name; 63 base::NullableString16 short_name;
39 64
40 // Empty if the parsing failed or the field was not present. 65 // Empty if the parsing failed or the field was not present.
41 GURL start_url; 66 GURL start_url;
42 67
43 // Set to DISPLAY_MODE_UNSPECIFIED if the parsing failed or the field was not 68 // Set to DISPLAY_MODE_UNSPECIFIED if the parsing failed or the field was not
44 // present. 69 // present.
45 DisplayMode display; 70 DisplayMode display;
46 71
47 // Set to blink::WebScreenOrientationLockDefault if the parsing failed or the 72 // Set to blink::WebScreenOrientationLockDefault if the parsing failed or the
48 // field was not present. 73 // field was not present.
49 blink::WebScreenOrientationLockType orientation; 74 blink::WebScreenOrientationLockType orientation;
50 75
76 // Empty if the parsing failed, the field was not present, empty or all the
77 // icons inside the JSON array were invalid.
78 std::vector<Icon> icons;
79
51 // Maximum length for all the strings inside the Manifest when it is sent over 80 // Maximum length for all the strings inside the Manifest when it is sent over
52 // IPC. The renderer process should truncate the strings before sending the 81 // IPC. The renderer process should truncate the strings before sending the
53 // Manifest and the browser process must do the same when receiving it. 82 // Manifest and the browser process must do the same when receiving it.
54 static const size_t kMaxIPCStringLength; 83 static const size_t kMaxIPCStringLength;
55 }; 84 };
56 85
57 } // namespace content 86 } // namespace content
58 87
59 #endif // CONTENT_PUBLIC_COMMON_MANIFEST_H_ 88 #endif // CONTENT_PUBLIC_COMMON_MANIFEST_H_
OLDNEW
« no previous file with comments | « content/common/manifest_manager_messages.h ('k') | content/public/common/manifest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698