Home | History | Annotate | Download | only in renderer
      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 WebKit {
     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 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(WebKit::WebFrame* frame,
     40                                 WebApplicationInfo* web_app,
     41                                 string16* error);
     42 
     43 }  // namespace web_apps
     44 
     45 #endif  // CHROME_RENDERER_WEB_APPS_H_
     46