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

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: Review changes. Created 7 years, 10 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
Index: chrome/browser/icon_manager.h
diff --git a/chrome/browser/icon_manager.h b/chrome/browser/icon_manager.h
index 875c6d8ac15e770239a9d391d02fc0d0c34f7d42..53036b73fa1b91b2b4983f9f33267bf0c8bffdd2 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,
Robert Sesek 2013/02/12 16:49:25 Does this need to be public?
shatch 2013/02/13 16:14:52 Doesn't need to be, but I made it public in case a
Robert Sesek 2013/02/13 17:33:05 I prefer a minimally exposed interface. But your c
shatch 2013/02/21 20:02:06 Done.
+ IconLoader::IconSize size);
typedef base::Callback<void(gfx::Image*)> IconRequestCallback;
@@ -85,11 +85,16 @@ class IconManager : public IconLoader::Delegate {
CancelableTaskTracker* tracker);
// IconLoader::Delegate interface.
- virtual bool OnImageLoaded(IconLoader* loader, gfx::Image* result) OVERRIDE;
+ virtual bool OnImageLoaded(IconLoader* loader,
+ gfx::Image* result,
+ const IconGroupID& group) OVERRIDE;
+
Robert Sesek 2013/02/12 16:49:25 nit: no blank line needed
shatch 2013/02/13 16:14:52 Done.
+ virtual bool OnGroupLoaded(IconLoader* loader,
+ 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 +110,9 @@ class IconManager : public IconLoader::Delegate {
typedef std::map<CacheKey, gfx::Image*> IconMap;
IconMap icon_cache_;
+ typedef std::map<FilePath, IconGroupID> GroupMap;
Robert Sesek 2013/02/12 16:49:25 I'm not sure how much of a benefit this cache mapp
shatch 2013/02/13 16:14:52 From what I could see, it got used when you did th
Robert Sesek 2013/02/13 17:33:05 Ah, good point.
+ GroupMap group_cache_;
+
// Asynchronous requests that have not yet been completed.
struct ClientRequest;
typedef std::map<IconLoader*, ClientRequest> ClientRequests;

Powered by Google App Engine
This is Rietveld 408576698