summaryrefslogtreecommitdiffstats
path: root/components/favicon_base
diff options
context:
space:
mode:
Diffstat (limited to 'components/favicon_base')
-rw-r--r--components/favicon_base/DEPS3
-rw-r--r--components/favicon_base/favicon_types.cc22
-rw-r--r--components/favicon_base/favicon_types.h77
3 files changed, 102 insertions, 0 deletions
diff --git a/components/favicon_base/DEPS b/components/favicon_base/DEPS
new file mode 100644
index 0000000..b273ae3
--- /dev/null
+++ b/components/favicon_base/DEPS
@@ -0,0 +1,3 @@
+include_rules = [
+ "+ui/gfx",
+]
diff --git a/components/favicon_base/favicon_types.cc b/components/favicon_base/favicon_types.cc
new file mode 100644
index 0000000..837da69
--- /dev/null
+++ b/components/favicon_base/favicon_types.cc
@@ -0,0 +1,22 @@
+// Copyright 2014 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.
+
+#include "components/favicon_base/favicon_types.h"
+
+namespace favicon_base {
+
+// FaviconImageResult ---------------------------------------------------------
+
+FaviconImageResult::FaviconImageResult() {}
+
+FaviconImageResult::~FaviconImageResult() {}
+
+// FaviconBitmapResult --------------------------------------------------------
+
+FaviconBitmapResult::FaviconBitmapResult()
+ : expired(false), icon_type(INVALID_ICON) {}
+
+FaviconBitmapResult::~FaviconBitmapResult() {}
+
+} // namespace chrome
diff --git a/components/favicon_base/favicon_types.h b/components/favicon_base/favicon_types.h
new file mode 100644
index 0000000..7f4a7b2
--- /dev/null
+++ b/components/favicon_base/favicon_types.h
@@ -0,0 +1,77 @@
+// Copyright 2014 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 COMPONENTS_FAVICON_BASE_FAVICON_TYPES_H_
+#define COMPONENTS_FAVICON_BASE_FAVICON_TYPES_H_
+
+#include "base/memory/ref_counted_memory.h"
+#include "ui/gfx/image/image.h"
+#include "ui/gfx/size.h"
+#include "url/gurl.h"
+
+namespace favicon_base {
+
+typedef int64 FaviconID;
+
+// Defines the icon types. They are also stored in icon_type field of favicons
+// table.
+// The values of the IconTypes are used to select the priority in which favicon
+// data is returned in HistoryBackend and ThumbnailDatabase. Data for the
+// largest IconType takes priority if data for multiple IconTypes is available.
+enum IconType {
+ INVALID_ICON = 0x0,
+ FAVICON = 1 << 0,
+ TOUCH_ICON = 1 << 1,
+ TOUCH_PRECOMPOSED_ICON = 1 << 2
+};
+
+// Defines a gfx::Image of size desired_size_in_dip composed of image
+// representations for each of the desired scale factors.
+struct FaviconImageResult {
+ FaviconImageResult();
+ ~FaviconImageResult();
+
+ // The resulting image.
+ gfx::Image image;
+
+ // The URL of the favicon which contains all of the image representations of
+ // |image|.
+ // TODO(pkotwicz): Return multiple |icon_urls| to allow |image| to have
+ // representations from several favicons once content::FaviconStatus supports
+ // multiple URLs.
+ GURL icon_url;
+};
+
+// Defines a favicon bitmap which best matches the desired DIP size and one of
+// the desired scale factors.
+struct FaviconBitmapResult {
+ FaviconBitmapResult();
+ ~FaviconBitmapResult();
+
+ // Returns true if |bitmap_data| contains a valid bitmap.
+ bool is_valid() const { return bitmap_data.get() && bitmap_data->size(); }
+
+ // Indicates whether |bitmap_data| is expired.
+ bool expired;
+
+ // The bits of the bitmap.
+ scoped_refptr<base::RefCountedMemory> bitmap_data;
+
+ // The pixel dimensions of |bitmap_data|.
+ gfx::Size pixel_size;
+
+ // The URL of the containing favicon.
+ GURL icon_url;
+
+ // The icon type of the containing favicon.
+ IconType icon_type;
+};
+
+// Define type with same structure as FaviconBitmapResult for passing data to
+// HistoryBackend::SetFavicons().
+typedef FaviconBitmapResult FaviconBitmapData;
+
+} // namespace chrome
+
+#endif // COMPONENTS_FAVICON_BASE_FAVICON_TYPES_H_