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.
5 #ifndef COMPONENTS_FAVICON_BASE_FAVICON_CALLBACK_H_
6 #define COMPONENTS_FAVICON_BASE_FAVICON_CALLBACK_H_
10 #include "base/callback.h"
12 namespace favicon_base
{
14 struct FaviconRawBitmapResult
;
15 struct FaviconImageResult
;
16 struct LargeIconResult
;
18 // Callback for functions that can be used to return a |gfx::Image| and the
19 // |GURL| it is loaded from. They are returned as a |FaviconImageResult| object.
20 typedef base::Callback
<void(const FaviconImageResult
&)> FaviconImageCallback
;
22 // Callback for functions returning raw data for a favicon. In
23 // |FaviconRawBitmapResult|, the data is not yet converted as a |gfx::Image|.
24 typedef base::Callback
<void(const FaviconRawBitmapResult
&)>
25 FaviconRawBitmapCallback
;
27 // Callback for functions returning raw data for a favicon in multiple
28 // resolution. In |FaviconRawBitmapResult|, the data is not yet converted as a
30 typedef base::Callback
<void(const std::vector
<FaviconRawBitmapResult
>&)>
31 FaviconResultsCallback
;
33 // Callback for functions returning data for a large icon. |LargeIconResult|
34 // will contain either the raw bitmap for a large icon or the style of the
35 // fallback to use if a sufficiently large icon could not be found.
36 typedef base::Callback
<void(const LargeIconResult
&)> LargeIconCallback
;
38 } // namespace favicon_base
40 #endif // COMPONENTS_FAVICON_BASE_FAVICON_CALLBACK_H_