Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6221)

Unified Diff: chrome/browser/icon_manager.h

Issue 12211049: Removing base::ThreadRestrictions::ScopedAllowIO from icon_manager_linux.cc (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix presubmit. Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/icon_loader_win.cc ('k') | chrome/browser/icon_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/icon_manager.h
diff --git a/chrome/browser/icon_manager.h b/chrome/browser/icon_manager.h
index 875c6d8ac15e770239a9d391d02fc0d0c34f7d42..dafd147821140b7278d2f91e32363b5c4b48ef57 100644
--- a/chrome/browser/icon_manager.h
+++ b/chrome/browser/icon_manager.h
@@ -47,14 +47,11 @@
#include <map>
+#include "base/files/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,8 @@ 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);
typedef base::Callback<void(gfx::Image*)> IconRequestCallback;
@@ -85,11 +83,11 @@ class IconManager : public IconLoader::Delegate {
CancelableTaskTracker* tracker);
// IconLoader::Delegate interface.
- virtual bool OnImageLoaded(IconLoader* loader, gfx::Image* result) OVERRIDE;
-
- // Get the identifying string for the given file. The implementation
- // is in icon_manager_[platform].cc.
- static IconGroupID GetGroupIDFromFilepath(const base::FilePath& path);
+ virtual bool OnGroupLoaded(IconLoader* loader,
+ const IconGroupID& group) OVERRIDE;
+ virtual bool OnImageLoaded(IconLoader* loader,
+ gfx::Image* result,
+ const IconGroupID& group) OVERRIDE;
private:
struct CacheKey {
@@ -102,9 +100,15 @@ class IconManager : public IconLoader::Delegate {
IconLoader::IconSize size;
};
+ gfx::Image* LookupIconFromGroup(const IconGroupID& group,
+ IconLoader::IconSize size);
+
typedef std::map<CacheKey, gfx::Image*> IconMap;
IconMap icon_cache_;
+ typedef std::map<base::FilePath, IconGroupID> GroupMap;
+ GroupMap group_cache_;
+
// Asynchronous requests that have not yet been completed.
struct ClientRequest;
typedef std::map<IconLoader*, ClientRequest> ClientRequests;
« no previous file with comments | « chrome/browser/icon_loader_win.cc ('k') | chrome/browser/icon_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698