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