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