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_HANDLER_H_ | 5 #ifndef COMPONENTS_FAVICON_CORE_FAVICON_HANDLER_H_ |
6 #define COMPONENTS_FAVICON_CORE_FAVICON_HANDLER_H_ | 6 #define COMPONENTS_FAVICON_CORE_FAVICON_HANDLER_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <map> | 9 #include <map> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
13 #include "base/callback_forward.h" | 13 #include "base/callback_forward.h" |
14 #include "base/memory/ref_counted.h" | 14 #include "base/memory/ref_counted.h" |
15 #include "base/task/cancelable_task_tracker.h" | 15 #include "base/task/cancelable_task_tracker.h" |
16 #include "components/favicon/core/favicon_url.h" | 16 #include "components/favicon/core/favicon_url.h" |
17 #include "components/favicon_base/favicon_callback.h" | 17 #include "components/favicon_base/favicon_callback.h" |
18 #include "ui/gfx/favicon_size.h" | 18 #include "ui/gfx/favicon_size.h" |
19 #include "ui/gfx/image/image.h" | 19 #include "ui/gfx/image/image.h" |
20 #include "url/gurl.h" | 20 #include "url/gurl.h" |
21 | 21 |
22 class FaviconTabHelperTest; | |
23 class SkBitmap; | 22 class SkBitmap; |
24 class TestFaviconHandler; | 23 class TestFaviconHandler; |
25 | 24 |
26 namespace base { | 25 namespace base { |
27 class RefCountedMemory; | 26 class RefCountedMemory; |
28 } | 27 } |
29 | 28 |
30 namespace favicon { | 29 namespace favicon { |
31 | 30 |
32 class FaviconDriver; | 31 class FaviconDriver; |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 int id, | 110 int id, |
112 const GURL& image_url, | 111 const GURL& image_url, |
113 const std::vector<SkBitmap>& bitmaps, | 112 const std::vector<SkBitmap>& bitmaps, |
114 const std::vector<gfx::Size>& original_bitmap_sizes); | 113 const std::vector<gfx::Size>& original_bitmap_sizes); |
115 | 114 |
116 // For testing. | 115 // For testing. |
117 const std::vector<favicon::FaviconURL>& image_urls() const { | 116 const std::vector<favicon::FaviconURL>& image_urls() const { |
118 return image_urls_; | 117 return image_urls_; |
119 } | 118 } |
120 | 119 |
| 120 // Returns whether the handler is waiting for a download to complete or for |
| 121 // data from the FaviconService. Reserved for testing. |
| 122 bool HasPendingTasksForTest(); |
| 123 |
121 protected: | 124 protected: |
122 // These virtual methods make FaviconHandler testable and are overridden by | 125 // These virtual methods make FaviconHandler testable and are overridden by |
123 // TestFaviconHandler. | 126 // TestFaviconHandler. |
124 | 127 |
125 // Asks the render to download favicon, returns the request id. | 128 // Asks the render to download favicon, returns the request id. |
126 virtual int DownloadFavicon(const GURL& image_url, int max_bitmap_size); | 129 virtual int DownloadFavicon(const GURL& image_url, int max_bitmap_size); |
127 | 130 |
128 // Ask the favicon from history | 131 // Ask the favicon from history |
129 virtual void UpdateFaviconMappingAndFetch( | 132 virtual void UpdateFaviconMappingAndFetch( |
130 const GURL& page_url, | 133 const GURL& page_url, |
(...skipping 17 matching lines...) Expand all Loading... |
148 virtual void SetHistoryFavicons(const GURL& page_url, | 151 virtual void SetHistoryFavicons(const GURL& page_url, |
149 const GURL& icon_url, | 152 const GURL& icon_url, |
150 favicon_base::IconType icon_type, | 153 favicon_base::IconType icon_type, |
151 const gfx::Image& image); | 154 const gfx::Image& image); |
152 | 155 |
153 // Returns true if the favicon should be saved. | 156 // Returns true if the favicon should be saved. |
154 virtual bool ShouldSaveFavicon(const GURL& url); | 157 virtual bool ShouldSaveFavicon(const GURL& url); |
155 | 158 |
156 private: | 159 private: |
157 // For testing: | 160 // For testing: |
158 friend class ::FaviconTabHelperTest; | |
159 friend class ::TestFaviconHandler; | 161 friend class ::TestFaviconHandler; |
160 | 162 |
161 // Represents an in progress download of an image from the renderer. | 163 // Represents an in progress download of an image from the renderer. |
162 struct DownloadRequest { | 164 struct DownloadRequest { |
163 DownloadRequest(); | 165 DownloadRequest(); |
164 ~DownloadRequest(); | 166 ~DownloadRequest(); |
165 | 167 |
166 DownloadRequest(const GURL& url, | 168 DownloadRequest(const GURL& url, |
167 const GURL& image_url, | 169 const GURL& image_url, |
168 favicon_base::IconType icon_type); | 170 favicon_base::IconType icon_type); |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
308 // available the favicon service and the current page are updated (assuming | 310 // available the favicon service and the current page are updated (assuming |
309 // the image is for a favicon). | 311 // the image is for a favicon). |
310 FaviconCandidate best_favicon_candidate_; | 312 FaviconCandidate best_favicon_candidate_; |
311 | 313 |
312 DISALLOW_COPY_AND_ASSIGN(FaviconHandler); | 314 DISALLOW_COPY_AND_ASSIGN(FaviconHandler); |
313 }; | 315 }; |
314 | 316 |
315 } // namespace favicon | 317 } // namespace favicon |
316 | 318 |
317 #endif // COMPONENTS_FAVICON_CORE_FAVICON_HANDLER_H_ | 319 #endif // COMPONENTS_FAVICON_CORE_FAVICON_HANDLER_H_ |
OLD | NEW |