favicon_url.h revision 0529e5d033099cbfc42635f6f6183833b09dff6e
1// Copyright (c) 2011 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 CONTENT_PUBLIC_COMMON_FAVICON_URL_
6#define CONTENT_PUBLIC_COMMON_FAVICON_URL_
7
8#include <vector>
9
10#include "content/common/content_export.h"
11#include "ui/gfx/geometry/size.h"
12#include "url/gurl.h"
13
14namespace content {
15
16// The favicon url from the render.
17struct CONTENT_EXPORT FaviconURL {
18  // The icon type in a page. The definition must be same as
19  // favicon_base::IconType.
20  enum IconType {
21    INVALID_ICON = 0x0,
22    FAVICON = 1 << 0,
23    TOUCH_ICON = 1 << 1,
24    TOUCH_PRECOMPOSED_ICON = 1 << 2
25  };
26
27  FaviconURL();
28  FaviconURL(const GURL& url,
29             IconType type,
30             const std::vector<gfx::Size>& sizes);
31  ~FaviconURL();
32
33  // The url of the icon.
34  GURL icon_url;
35
36  // The type of the icon
37  IconType icon_type;
38
39  // Icon's bitmaps' size
40  std::vector<gfx::Size> icon_sizes;
41};
42
43} // namespace content
44
45#endif  // CONTENT_PUBLIC_COMMON_FAVICON_URL_
46