diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-13 03:26:13 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-13 03:26:13 +0000 |
commit | 15be81387f3ab40242d28f3ee53adc3d6a1fac1c (patch) | |
tree | 85ec956d20e07971d630aa1920eacdf73401347b /chrome/browser/cocoa/task_manager_mac.h | |
parent | 969a7b97029963ba6c6dd1456132d844160b5ad0 (diff) | |
download | chromium_src-15be81387f3ab40242d28f3ee53adc3d6a1fac1c.zip chromium_src-15be81387f3ab40242d28f3ee53adc3d6a1fac1c.tar.gz chromium_src-15be81387f3ab40242d28f3ee53adc3d6a1fac1c.tar.bz2 |
Mac: Add favicons to task manager.
Pull NSImage cache out of search engine dialog into its own class, reuse that.
Implement browser icon code in task_manager_resource_provider's browser resource provider.
BUG=13156
TEST=Open task manager. You should see icons. Open search engine manager, should still show icons.
Review URL: http://codereview.chromium.org/549021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36087 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/task_manager_mac.h')
-rw-r--r-- | chrome/browser/cocoa/task_manager_mac.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/chrome/browser/cocoa/task_manager_mac.h b/chrome/browser/cocoa/task_manager_mac.h index cbcb5d2..5d78cff 100644 --- a/chrome/browser/cocoa/task_manager_mac.h +++ b/chrome/browser/cocoa/task_manager_mac.h @@ -7,6 +7,7 @@ #import <Cocoa/Cocoa.h> #include "base/scoped_nsobject.h" +#include "chrome/browser/cocoa/table_row_nsimage_cache.h" #include "chrome/browser/task_manager.h" class TaskManagerMac; @@ -39,7 +40,8 @@ class TaskManagerMac; @end // This class listens to task changed events sent by chrome. -class TaskManagerMac : public TaskManagerModelObserver { +class TaskManagerMac : public TaskManagerModelObserver, + public TableRowNSImageCache::Table { public: TaskManagerMac(); virtual ~TaskManagerMac(); @@ -54,6 +56,10 @@ class TaskManagerMac : public TaskManagerModelObserver { // controller destroyed itself. Informs the model to stop updating. void WindowWasClosed(); + // TableRowNSImageCache::Table + virtual int RowCount() const { return model_->ResourceCount(); } + virtual SkBitmap GetIcon(int r) const { return model_->GetResourceIcon(r); } + // Creates the task manager if it doesn't exist; otherwise, it activates the // existing task manager window. static void Show(); @@ -61,6 +67,9 @@ class TaskManagerMac : public TaskManagerModelObserver { // Returns the TaskManager observed by |this|. TaskManager* task_manager() { return task_manager_; } + // Lazily converts the image at the given row and caches it in |icon_cache_|. + NSImage* GetImageForRow(int row); + private: // The task manager. TaskManager* const task_manager_; // weak @@ -72,6 +81,9 @@ class TaskManagerMac : public TaskManagerModelObserver { // is closed. TaskManagerWindowController* window_controller_; // weak + // Caches favicons for all rows. Needs to be initalized after |model_|. + TableRowNSImageCache icon_cache_; + // An open task manager window. There can only be one open at a time. This // is reset to NULL when the window is closed. static TaskManagerMac* instance_; |