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
14namespace blink {
15class WebFrame;
16}
17
18struct WebApplicationInfo;
19
20namespace 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.
27bool ParseIconSizes(const base::string16& text, std::vector<gfx::Size>* sizes,
28                    bool* is_any);
29
30// Parses |app_info| information out of the document in WebFrame. Note that the
31// document may contain no web application information, in which case |app_info|
32// is unchanged.
33void ParseWebAppFromWebDocument(blink::WebFrame* frame,
34                                WebApplicationInfo* app_info);
35
36}  // namespace web_apps
37
38#endif  // CHROME_RENDERER_WEB_APPS_H_
39