| // 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_CALLBACK_H_ |
| #define COMPONENTS_FAVICON_BASE_FAVICON_CALLBACK_H_ |
| |
| #include <vector> |
| |
| #include "base/callback.h" |
| |
| namespace favicon_base { |
| |
| struct FaviconRawBitmapResult; |
| struct FaviconImageResult; |
| struct LargeIconResult; |
| struct LargeIconImageResult; |
| enum class GoogleFaviconServerRequestStatus; |
| |
| // Callback for functions that can be used to return a |gfx::Image| and the |
| // |GURL| it is loaded from. They are returned as a |FaviconImageResult| object. |
| typedef base::Callback<void(const FaviconImageResult&)> FaviconImageCallback; |
| |
| // Callback for functions returning raw data for a favicon. In |
| // |FaviconRawBitmapResult|, the data is not yet converted as a |gfx::Image|. |
| typedef base::Callback<void(const FaviconRawBitmapResult&)> |
| FaviconRawBitmapCallback; |
| |
| // Callback for functions returning raw data for a favicon in multiple |
| // resolution. In |FaviconRawBitmapResult|, the data is not yet converted as a |
| // |gfx::Image|. |
| typedef base::Callback<void(const std::vector<FaviconRawBitmapResult>&)> |
| FaviconResultsCallback; |
| |
| // Callback for functions returning data for a large icon. |LargeIconResult| |
| // will contain either the raw bitmap for a large icon or the style of the |
| // fallback to use if a sufficiently large icon could not be found. |
| // TODO(jkrcal): Rename LargeIcon* to LargeIconRawBitmap*. |
| typedef base::Callback<void(const LargeIconResult&)> LargeIconCallback; |
| |
| // Callback for functions returning decoded data for a large icon. |
| // |LargeIconImageResult| will contain either the decoded image of a large |
| // icon or the style of the fallback to use if a sufficiently large icon could |
| // not be found. |
| typedef base::Callback<void(const LargeIconImageResult&)> |
| LargeIconImageCallback; |
| |
| typedef base::Callback<void(GoogleFaviconServerRequestStatus)> |
| GoogleFaviconServerCallback; |
| |
| } // namespace favicon_base |
| |
| #endif // COMPONENTS_FAVICON_BASE_FAVICON_CALLBACK_H_ |