• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CHROME_COMMON_WEB_APPLICATION_INFO_H_
6 #define CHROME_COMMON_WEB_APPLICATION_INFO_H_
7 
8 #include <string>
9 #include <vector>
10 
11 #include "base/strings/string16.h"
12 #include "third_party/skia/include/core/SkBitmap.h"
13 #include "ui/gfx/size.h"
14 #include "url/gurl.h"
15 
16 // Structure used when installing a web page as an app.
17 struct WebApplicationInfo {
18   struct IconInfo {
19     GURL url;
20     int width;
21     int height;
22     SkBitmap data;
23   };
24 
25   WebApplicationInfo();
26   ~WebApplicationInfo();
27 
28   // URL to a manifest that defines the application. If specified, all other
29   // attributes are derived from this manifest, and the manifest is the unique
30   // ID of the application.
31   GURL manifest_url;
32 
33   // Setting indicating this application is artificially constructed. If set,
34   // the application was created from bookmark-style data (title, url, possibly
35   // icon), and not from an official manifest file. In that case, the app_url
36   // can be checked for the later creation of an official manifest instead of
37   // reloading the manifest_url.
38   bool is_bookmark_app;
39 
40   // Title of the application.
41   base::string16 title;
42 
43   // Description of the application.
44   base::string16 description;
45 
46   // The launch URL for the app.
47   GURL app_url;
48 
49   // Set of available icons.
50   std::vector<IconInfo> icons;
51 
52   // The permissions the app requests. Only supported with manifest-based apps.
53   std::vector<std::string> permissions;
54 
55   // Set of URLs that comprise the app. Only supported with manifest-based apps.
56   // All these must be of the same origin as manifest_url.
57   std::vector<GURL> urls;
58 
59   // The type of launch container to use with the app. Currently supported
60   // values are 'tab' and 'panel'. Only supported with manifest-based apps.
61   std::string launch_container;
62 
63   // This indicates if the app is functional in offline mode or not.
64   bool is_offline_enabled;
65 };
66 
67 #endif  // CHROME_COMMON_WEB_APPLICATION_INFO_H_
68