Index: chrome/browser/icon_manager.h |
diff --git a/chrome/browser/icon_manager.h b/chrome/browser/icon_manager.h |
index 875c6d8ac15e770239a9d391d02fc0d0c34f7d42..34c033c0ef4c79701e9f9c5af806cae5bd93e56e 100644 |
--- a/chrome/browser/icon_manager.h |
+++ b/chrome/browser/icon_manager.h |
@@ -47,14 +47,11 @@ |
#include <map> |
+#include "base/file_path.h" |
#include "chrome/browser/icon_loader.h" |
#include "chrome/common/cancelable_task_tracker.h" |
#include "ui/gfx/image/image.h" |
-namespace base { |
-class FilePath; |
-} |
- |
class IconManager : public IconLoader::Delegate { |
public: |
IconManager(); |
@@ -65,7 +62,10 @@ class IconManager : public IconLoader::Delegate { |
// it via 'LoadIcon'. The returned bitmap is owned by the IconManager and must |
// not be free'd by the caller. If the caller needs to modify the icon, it |
// must make a copy and modify the copy. |
- gfx::Image* LookupIcon(const base::FilePath& file_name, IconLoader::IconSize size); |
+ gfx::Image* LookupIconFromFilepath(const base::FilePath& file_name, |
+ IconLoader::IconSize size); |
+ gfx::Image* LookupIconFromGroup(const IconGroupID& group, |
+ IconLoader::IconSize size); |
typedef base::Callback<void(gfx::Image*)> IconRequestCallback; |
@@ -85,11 +85,15 @@ class IconManager : public IconLoader::Delegate { |
CancelableTaskTracker* tracker); |
// IconLoader::Delegate interface. |
- virtual bool OnImageLoaded(IconLoader* loader, gfx::Image* result) OVERRIDE; |
+ virtual bool OnGroupLoaded(IconLoader* loader, |
+ const IconGroupID& group) OVERRIDE; |
+ virtual bool OnImageLoaded(IconLoader* loader, |
+ gfx::Image* result, |
+ const IconGroupID& group) OVERRIDE; |
// Get the identifying string for the given file. The implementation |
// is in icon_manager_[platform].cc. |
- static IconGroupID GetGroupIDFromFilepath(const base::FilePath& path); |
+ static IconGroupID ReadGroupIDFromFilepath(const base::FilePath& path); |
private: |
struct CacheKey { |
@@ -105,6 +109,9 @@ class IconManager : public IconLoader::Delegate { |
typedef std::map<CacheKey, gfx::Image*> IconMap; |
IconMap icon_cache_; |
+ typedef std::map<FilePath, IconGroupID> GroupMap; |
+ GroupMap group_cache_; |
+ |
// Asynchronous requests that have not yet been completed. |
struct ClientRequest; |
typedef std::map<IconLoader*, ClientRequest> ClientRequests; |