1// Copyright 2014 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 COMPONENTS_FAVICON_BASE_FAVICON_CALLBACK_H_
6#define COMPONENTS_FAVICON_BASE_FAVICON_CALLBACK_H_
7
8#include <vector>
9
10#include "base/callback.h"
11
12namespace favicon_base {
13
14struct FaviconRawBitmapResult;
15struct FaviconImageResult;
16
17// Callback for functions that can be used to return a |gfx::Image| and the
18// |GURL| it is loaded from. They are returned as a |FaviconImageResult| object.
19typedef base::Callback<void(const FaviconImageResult&)> FaviconImageCallback;
20
21// Callback for functions returning raw data for a favicon. In
22// |FaviconRawBitmapResult|, the data is not yet converted as a |gfx::Image|.
23typedef base::Callback<void(const FaviconRawBitmapResult&)>
24    FaviconRawBitmapCallback;
25
26// Callback for functions returning raw data for a favicon in multiple
27// resolution. In |FaviconRawBitmapResult|, the data is not yet converted as a
28// |gfx::Image|.
29typedef base::Callback<void(const std::vector<FaviconRawBitmapResult>&)>
30    FaviconResultsCallback;
31
32}  // namespace favicon_base
33
34#endif  // COMPONENTS_FAVICON_BASE_FAVICON_CALLBACK_H_
35