Index: chrome/browser/icon_manager.h |
diff --git a/chrome/browser/icon_manager.h b/chrome/browser/icon_manager.h |
index 43c36acedc0e64f6e91e00f4e7c84878081fe16a..5cda41d469b3ebc645b66d0c3c95409565585b46 100644 |
--- a/chrome/browser/icon_manager.h |
+++ b/chrome/browser/icon_manager.h |
@@ -50,14 +50,15 @@ |
#include "base/files/file_path.h" |
#include "base/macros.h" |
+#include "base/memory/weak_ptr.h" |
#include "base/task/cancelable_task_tracker.h" |
#include "chrome/browser/icon_loader.h" |
#include "ui/gfx/image/image.h" |
-class IconManager : public IconLoader::Delegate { |
+class IconManager { |
public: |
IconManager(); |
- ~IconManager() override; |
+ ~IconManager(); |
// Synchronous call to examine the internal caches for the icon. Returns the |
// icon if we have already loaded it, or null if we don't have it and must |
@@ -86,10 +87,11 @@ class IconManager : public IconLoader::Delegate { |
base::CancelableTaskTracker* tracker); |
private: |
- // IconLoader::Delegate interface. |
- void OnImageLoaded(IconLoader* loader, |
- std::unique_ptr<gfx::Image> result, |
- const IconLoader::IconGroup& group) override; |
+ void OnIconLoaded(IconRequestCallback callback, |
+ base::FilePath file_path, |
+ IconLoader::IconSize size, |
+ std::unique_ptr<gfx::Image> result, |
+ const IconLoader::IconGroup& group); |
struct CacheKey { |
CacheKey(const IconLoader::IconGroup& group, IconLoader::IconSize size); |
@@ -104,9 +106,7 @@ class IconManager : public IconLoader::Delegate { |
std::map<base::FilePath, IconLoader::IconGroup> group_cache_; |
std::map<CacheKey, std::unique_ptr<gfx::Image>> icon_cache_; |
- // Asynchronous requests that have not yet been completed. |
- struct ClientRequest; |
- std::map<IconLoader*, ClientRequest> requests_; |
+ base::WeakPtrFactory<IconManager> weak_factory_; |
DISALLOW_COPY_AND_ASSIGN(IconManager); |
}; |