// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_RENDERER_WEB_APPS_H_ #define CHROME_RENDERER_WEB_APPS_H_ #include <string> #include <vector> #include "base/strings/string16.h" #include "ui/gfx/size.h" namespace blink { class WebFrame; } struct WebApplicationInfo; namespace web_apps { // Parses the icon's size attribute as defined in the HTML 5 spec. Returns true // on success, false on errors. On success either all the sizes specified in // the attribute are added to sizes, or is_any is set to true. // // You shouldn't have a need to invoke this directly, it's public for testing. bool ParseIconSizes(const base::string16& text, std::vector<gfx::Size>* sizes, bool* is_any); // Parses |web_app| information out of the document in frame. Returns true on // success, or false and |error| on failure. Note that the document may contain // no web application information, in which case |web_app| is unchanged and the // function returns true. // // Documents can also contain a link to a application 'definition'. In this case // web_app will have manifest_url set and nothing else. The caller must fetch // this URL and pass the result to ParseWebAppFromDefinitionFile() for further // processing. bool ParseWebAppFromWebDocument(blink::WebFrame* frame, WebApplicationInfo* web_app, base::string16* error); } // namespace web_apps #endif // CHROME_RENDERER_WEB_APPS_H_