OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef COMPONENTS_FAVICON_CORE_FAVICON_SERVICE_H_ | 5 #ifndef COMPONENTS_FAVICON_CORE_FAVICON_SERVICE_H_ |
6 #define COMPONENTS_FAVICON_CORE_FAVICON_SERVICE_H_ | 6 #define COMPONENTS_FAVICON_CORE_FAVICON_SERVICE_H_ |
7 | 7 |
| 8 #include <stdint.h> |
| 9 |
8 #include <vector> | 10 #include <vector> |
9 | 11 |
10 #include "base/callback.h" | 12 #include "base/callback.h" |
11 #include "base/containers/hash_tables.h" | 13 #include "base/containers/hash_tables.h" |
| 14 #include "base/macros.h" |
12 #include "base/memory/ref_counted.h" | 15 #include "base/memory/ref_counted.h" |
13 #include "base/task/cancelable_task_tracker.h" | 16 #include "base/task/cancelable_task_tracker.h" |
14 #include "components/favicon_base/favicon_callback.h" | 17 #include "components/favicon_base/favicon_callback.h" |
15 #include "components/favicon_base/favicon_types.h" | 18 #include "components/favicon_base/favicon_types.h" |
16 #include "components/favicon_base/favicon_usage_data.h" | 19 #include "components/favicon_base/favicon_usage_data.h" |
17 #include "components/keyed_service/core/keyed_service.h" | 20 #include "components/keyed_service/core/keyed_service.h" |
18 | 21 |
19 class GURL; | 22 class GURL; |
20 | 23 |
21 namespace history { | 24 namespace history { |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 const GURL& icon_url, | 205 const GURL& icon_url, |
203 favicon_base::IconType icon_type, | 206 favicon_base::IconType icon_type, |
204 const gfx::Image& image); | 207 const gfx::Image& image); |
205 | 208 |
206 // Avoid repeated requests to download missing favicon. | 209 // Avoid repeated requests to download missing favicon. |
207 void UnableToDownloadFavicon(const GURL& icon_url); | 210 void UnableToDownloadFavicon(const GURL& icon_url); |
208 bool WasUnableToDownloadFavicon(const GURL& icon_url) const; | 211 bool WasUnableToDownloadFavicon(const GURL& icon_url) const; |
209 void ClearUnableToDownloadFavicons(); | 212 void ClearUnableToDownloadFavicons(); |
210 | 213 |
211 private: | 214 private: |
212 typedef uint32 MissingFaviconURLHash; | 215 typedef uint32_t MissingFaviconURLHash; |
213 | 216 |
214 // Helper function for GetFaviconImageForPageURL(), GetRawFaviconForPageURL() | 217 // Helper function for GetFaviconImageForPageURL(), GetRawFaviconForPageURL() |
215 // and GetFaviconForPageURL(). | 218 // and GetFaviconForPageURL(). |
216 base::CancelableTaskTracker::TaskId GetFaviconForPageURLImpl( | 219 base::CancelableTaskTracker::TaskId GetFaviconForPageURLImpl( |
217 const GURL& page_url, | 220 const GURL& page_url, |
218 int icon_types, | 221 int icon_types, |
219 const std::vector<int>& desired_sizes_in_pixel, | 222 const std::vector<int>& desired_sizes_in_pixel, |
220 const favicon_base::FaviconResultsCallback& callback, | 223 const favicon_base::FaviconResultsCallback& callback, |
221 base::CancelableTaskTracker* tracker); | 224 base::CancelableTaskTracker* tracker); |
222 | 225 |
(...skipping 20 matching lines...) Expand all Loading... |
243 base::hash_set<MissingFaviconURLHash> missing_favicon_urls_; | 246 base::hash_set<MissingFaviconURLHash> missing_favicon_urls_; |
244 scoped_ptr<FaviconClient> favicon_client_; | 247 scoped_ptr<FaviconClient> favicon_client_; |
245 history::HistoryService* history_service_; | 248 history::HistoryService* history_service_; |
246 | 249 |
247 DISALLOW_COPY_AND_ASSIGN(FaviconService); | 250 DISALLOW_COPY_AND_ASSIGN(FaviconService); |
248 }; | 251 }; |
249 | 252 |
250 } // namespace favicon | 253 } // namespace favicon |
251 | 254 |
252 #endif // COMPONENTS_FAVICON_CORE_FAVICON_SERVICE_H_ | 255 #endif // COMPONENTS_FAVICON_CORE_FAVICON_SERVICE_H_ |
OLD | NEW |