• 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_RENDERER_WEB_APPS_H_
6 #define CHROME_RENDERER_WEB_APPS_H_
7 
8 #include <string>
9 #include <vector>
10 
11 #include "base/strings/string16.h"
12 #include "ui/gfx/size.h"
13 
14 namespace blink {
15 class WebFrame;
16 }
17 
18 struct WebApplicationInfo;
19 
20 namespace web_apps {
21 
22 // Parses the icon's size attribute as defined in the HTML 5 spec. Returns true
23 // on success, false on errors. On success either all the sizes specified in
24 // the attribute are added to sizes, or is_any is set to true.
25 //
26 // You shouldn't have a need to invoke this directly, it's public for testing.
27 bool ParseIconSizes(const base::string16& text, std::vector<gfx::Size>* sizes,
28                     bool* is_any);
29 
30 // Parses |web_app| information out of the document in frame. Returns true on
31 // success, or false and |error| on failure. Note that the document may contain
32 // no web application information, in which case |web_app| is unchanged and the
33 // function returns true.
34 //
35 // Documents can also contain a link to a application 'definition'. In this case
36 // web_app will have manifest_url set and nothing else. The caller must fetch
37 // this URL and pass the result to ParseWebAppFromDefinitionFile() for further
38 // processing.
39 bool ParseWebAppFromWebDocument(blink::WebFrame* frame,
40                                 WebApplicationInfo* web_app,
41                                 base::string16* error);
42 
43 }  // namespace web_apps
44 
45 #endif  // CHROME_RENDERER_WEB_APPS_H_
46