diff options
-rw-r--r-- | chrome/browser/task_manager/task_manager.cc | 78 | ||||
-rw-r--r-- | chrome/browser/task_manager/task_manager.h | 4 | ||||
-rw-r--r-- | chrome/browser/ui/cocoa/task_manager_mac.mm | 81 | ||||
-rw-r--r-- | chrome/browser/ui/gtk/task_manager_gtk.cc | 75 | ||||
-rw-r--r-- | chrome/browser/ui/views/task_manager_view.cc | 75 |
5 files changed, 86 insertions, 227 deletions
diff --git a/chrome/browser/task_manager/task_manager.cc b/chrome/browser/task_manager/task_manager.cc index 0ad35fa..d6970d3 100644 --- a/chrome/browser/task_manager/task_manager.cc +++ b/chrome/browser/task_manager/task_manager.cc @@ -80,6 +80,25 @@ string16 FormatStatsSize(const WebKit::WebCache::ResourceTypeStat& stat) { ui::FormatBytesWithUnits(stat.liveSize, ui::DATA_UNITS_KIBIBYTE, false)); } +// Returns true if the specified id should use the first value in the group. +bool IsSharedByGroup(int col_id) { + switch (col_id) { + case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: + case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: + case IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN: + case IDS_TASK_MANAGER_CPU_COLUMN: + case IDS_TASK_MANAGER_PROCESS_ID_COLUMN: + case IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN: + case IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN: + case IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN: + case IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN: + case IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN: + return true; + default: + return false; + } +} + } // namespace //////////////////////////////////////////////////////////////////////////////// @@ -149,6 +168,65 @@ int TaskManagerModel::GetResourceIndexByUniqueId(const int unique_id) const { return -1; } +string16 TaskManagerModel::GetResourceById(int index, int col_id) const { + if (IsSharedByGroup(col_id) && !IsResourceFirstInGroup(index)) + return string16(); + + switch (col_id) { + case IDS_TASK_MANAGER_TASK_COLUMN: + return GetResourceTitle(index); + + case IDS_TASK_MANAGER_PROFILE_NAME_COLUMN: + return GetResourceProfileName(index); + + case IDS_TASK_MANAGER_NET_COLUMN: + return GetResourceNetworkUsage(index); + + case IDS_TASK_MANAGER_CPU_COLUMN: + return GetResourceCPUUsage(index); + + case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: + return GetResourcePrivateMemory(index); + + case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: + return GetResourceSharedMemory(index); + + case IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN: + return GetResourcePhysicalMemory(index); + + case IDS_TASK_MANAGER_PROCESS_ID_COLUMN: + return GetResourceProcessId(index); + + case IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN: + return GetResourceGoatsTeleported(index); + + case IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN: + return GetResourceWebCoreImageCacheSize(index); + + case IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN: + return GetResourceWebCoreScriptsCacheSize(index); + + case IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN: + return GetResourceWebCoreCSSCacheSize(index); + + case IDS_TASK_MANAGER_FPS_COLUMN: + return GetResourceFPS(index); + + case IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN: + return GetResourceVideoMemory(index); + + case IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN: + return GetResourceSqliteMemoryUsed(index); + + case IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN: + return GetResourceV8MemoryAllocatedSize(index); + + default: + NOTREACHED(); + return string16(); + } +} + string16 TaskManagerModel::GetResourceTitle(int index) const { CHECK_LT(index, ResourceCount()); return resources_[index]->GetTitle(); diff --git a/chrome/browser/task_manager/task_manager.h b/chrome/browser/task_manager/task_manager.h index c1d3106..176c4f1 100644 --- a/chrome/browser/task_manager/task_manager.h +++ b/chrome/browser/task_manager/task_manager.h @@ -305,6 +305,10 @@ class TaskManagerModel : public base::RefCountedThreadSafe<TaskManagerModel> { // no resouce has the |unique_id|. int GetResourceIndexByUniqueId(const int unique_id) const; + // Catchall method that calls off to the appropriate GetResourceXXX method + // based on |col_id|. |col_id| is an IDS_ value used to identify the column. + string16 GetResourceById(int index, int col_id) const; + // Methods to return formatted resource information. string16 GetResourceTitle(int index) const; string16 GetResourceProfileName(int index) const; diff --git a/chrome/browser/ui/cocoa/task_manager_mac.mm b/chrome/browser/ui/cocoa/task_manager_mac.mm index 7b05e09..d527af4 100644 --- a/chrome/browser/ui/cocoa/task_manager_mac.mm +++ b/chrome/browser/ui/cocoa/task_manager_mac.mm @@ -436,85 +436,8 @@ class SortHelper { - (NSString*)modelTextForRow:(int)row column:(int)columnId { DCHECK_LT(static_cast<size_t>(row), viewToModelMap_.size()); - row = viewToModelMap_[row]; - switch (columnId) { - case IDS_TASK_MANAGER_TASK_COLUMN: // Process - return base::SysUTF16ToNSString(model_->GetResourceTitle(row)); - - case IDS_TASK_MANAGER_PROFILE_NAME_COLUMN: // Profile Name - return base::SysUTF16ToNSString(model_->GetResourceProfileName(row)); - - case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: // Memory - if (!model_->IsResourceFirstInGroup(row)) - return @""; - return base::SysUTF16ToNSString(model_->GetResourcePrivateMemory(row)); - - case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: // Memory - if (!model_->IsResourceFirstInGroup(row)) - return @""; - return base::SysUTF16ToNSString(model_->GetResourceSharedMemory(row)); - - case IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN: // Memory - if (!model_->IsResourceFirstInGroup(row)) - return @""; - return base::SysUTF16ToNSString(model_->GetResourcePhysicalMemory(row)); - - case IDS_TASK_MANAGER_CPU_COLUMN: // CPU - if (!model_->IsResourceFirstInGroup(row)) - return @""; - return base::SysUTF16ToNSString(model_->GetResourceCPUUsage(row)); - - case IDS_TASK_MANAGER_NET_COLUMN: // Net - return base::SysUTF16ToNSString(model_->GetResourceNetworkUsage(row)); - - case IDS_TASK_MANAGER_PROCESS_ID_COLUMN: // Process ID - if (!model_->IsResourceFirstInGroup(row)) - return @""; - return base::SysUTF16ToNSString(model_->GetResourceProcessId(row)); - - case IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN: // WebCore image cache - if (!model_->IsResourceFirstInGroup(row)) - return @""; - return base::SysUTF16ToNSString( - model_->GetResourceWebCoreImageCacheSize(row)); - - case IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN: // WebCore script cache - if (!model_->IsResourceFirstInGroup(row)) - return @""; - return base::SysUTF16ToNSString( - model_->GetResourceWebCoreScriptsCacheSize(row)); - - case IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN: // WebCore CSS cache - if (!model_->IsResourceFirstInGroup(row)) - return @""; - return base::SysUTF16ToNSString( - model_->GetResourceWebCoreCSSCacheSize(row)); - - case IDS_TASK_MANAGER_FPS_COLUMN: - return base::SysUTF16ToNSString(model_->GetResourceFPS(row)); - - case IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN: - return base::SysUTF16ToNSString(model_->GetResourceVideoMemory(row)); - - case IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN: - if (!model_->IsResourceFirstInGroup(row)) - return @""; - return base::SysUTF16ToNSString( - model_->GetResourceSqliteMemoryUsed(row)); - - case IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN: - if (!model_->IsResourceFirstInGroup(row)) - return @""; - return base::SysUTF16ToNSString( - model_->GetResourceV8MemoryAllocatedSize(row)); - - case IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN: // Goats Teleported! - return base::SysUTF16ToNSString(model_->GetResourceGoatsTeleported(row)); - - default: - NOTREACHED(); - return @""; - } + return base::SysUTF16ToNSString( + model_->GetResourceById(viewToModelMap_[row], columnId)); } - (id)tableView:(NSTableView*)tableView diff --git a/chrome/browser/ui/gtk/task_manager_gtk.cc b/chrome/browser/ui/gtk/task_manager_gtk.cc index 21c1642..4b6e408 100644 --- a/chrome/browser/ui/gtk/task_manager_gtk.cc +++ b/chrome/browser/ui/gtk/task_manager_gtk.cc @@ -670,76 +670,8 @@ void TaskManagerGtk::CreateTaskManagerTreeview() { g_object_unref(process_list_sort_); } -bool IsSharedByGroup(int col_id) { - switch (col_id) { - case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: - case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: - case IDS_TASK_MANAGER_CPU_COLUMN: - case IDS_TASK_MANAGER_PROCESS_ID_COLUMN: - case IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN: - case IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN: - case IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN: - case IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN: - return true; - default: - return false; - } -} - std::string TaskManagerGtk::GetModelText(int row, int col_id) { - if (IsSharedByGroup(col_id) && !model_->IsResourceFirstInGroup(row)) - return std::string(); - - switch (col_id) { - case IDS_TASK_MANAGER_TASK_COLUMN: // Process - return UTF16ToUTF8(model_->GetResourceTitle(row)); - - case IDS_TASK_MANAGER_PROFILE_NAME_COLUMN: // Profile name - return UTF16ToUTF8(model_->GetResourceProfileName(row)); - - case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: // Memory - return UTF16ToUTF8(model_->GetResourcePrivateMemory(row)); - - case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: // Memory - return UTF16ToUTF8(model_->GetResourceSharedMemory(row)); - - case IDS_TASK_MANAGER_CPU_COLUMN: // CPU - return UTF16ToUTF8(model_->GetResourceCPUUsage(row)); - - case IDS_TASK_MANAGER_NET_COLUMN: // Net - return UTF16ToUTF8(model_->GetResourceNetworkUsage(row)); - - case IDS_TASK_MANAGER_PROCESS_ID_COLUMN: // Process ID - return UTF16ToUTF8(model_->GetResourceProcessId(row)); - - case IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN: - return UTF16ToUTF8(model_->GetResourceV8MemoryAllocatedSize(row)); - - case IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN: - return UTF16ToUTF8(model_->GetResourceWebCoreImageCacheSize(row)); - - case IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN: - return UTF16ToUTF8(model_->GetResourceWebCoreScriptsCacheSize(row)); - - case IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN: - return UTF16ToUTF8(model_->GetResourceWebCoreCSSCacheSize(row)); - - case IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN: - return UTF16ToUTF8(model_->GetResourceVideoMemory(row)); - - case IDS_TASK_MANAGER_FPS_COLUMN: - return UTF16ToUTF8(model_->GetResourceFPS(row)); - - case IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN: - return UTF16ToUTF8(model_->GetResourceSqliteMemoryUsed(row)); - - case IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN: // Goats Teleported! - return UTF16ToUTF8(model_->GetResourceGoatsTeleported(row)); - - default: - NOTREACHED(); - return std::string(); - } + return UTF16ToUTF8(model_->GetResourceById(row, col_id)); } GdkPixbuf* TaskManagerGtk::GetModelIcon(int row) { @@ -865,11 +797,6 @@ gint TaskManagerGtk::CompareImpl(GtkTreeModel* model, GtkTreeIter* a, int row1 = gtk_tree::GetRowNumForIter(model, b); int row2 = gtk_tree::GetRowNumForIter(model, a); - // When sorting by non-grouped attributes (e.g., Network), just do a normal - // sort. - if (!IsSharedByGroup(id)) - return model_->CompareValues(row1, row2, id); - // Otherwise, make sure grouped resources are shown together. TaskManagerModel::GroupRange group_range1 = model_->GetGroupRangeForResource(row1); diff --git a/chrome/browser/ui/views/task_manager_view.cc b/chrome/browser/ui/views/task_manager_view.cc index 2604e66..2312109 100644 --- a/chrome/browser/ui/views/task_manager_view.cc +++ b/chrome/browser/ui/views/task_manager_view.cc @@ -100,86 +100,13 @@ int TaskManagerTableModel::RowCount() { } string16 TaskManagerTableModel::GetText(int row, int col_id) { - switch (col_id) { - case IDS_TASK_MANAGER_TASK_COLUMN: // Process - return model_->GetResourceTitle(row); - - case IDS_TASK_MANAGER_PROFILE_NAME_COLUMN: // Profile Name - return model_->GetResourceProfileName(row); - - case IDS_TASK_MANAGER_NET_COLUMN: // Net - return model_->GetResourceNetworkUsage(row); - - case IDS_TASK_MANAGER_CPU_COLUMN: // CPU - if (!model_->IsResourceFirstInGroup(row)) - return string16(); - return model_->GetResourceCPUUsage(row); - - case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: // Memory - if (!model_->IsResourceFirstInGroup(row)) - return string16(); - return model_->GetResourcePrivateMemory(row); - - case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: // Memory - if (!model_->IsResourceFirstInGroup(row)) - return string16(); - return model_->GetResourceSharedMemory(row); - - case IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN: // Memory - if (!model_->IsResourceFirstInGroup(row)) - return string16(); - return model_->GetResourcePhysicalMemory(row); - - case IDS_TASK_MANAGER_PROCESS_ID_COLUMN: - if (!model_->IsResourceFirstInGroup(row)) - return string16(); - return model_->GetResourceProcessId(row); - - case IDS_TASK_MANAGER_GOATS_TELEPORTED_COLUMN: // Goats Teleported! - return model_->GetResourceGoatsTeleported(row); - - case IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN: - if (!model_->IsResourceFirstInGroup(row)) - return string16(); - return model_->GetResourceWebCoreImageCacheSize(row); - - case IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN: - if (!model_->IsResourceFirstInGroup(row)) - return string16(); - return model_->GetResourceWebCoreScriptsCacheSize(row); - - case IDS_TASK_MANAGER_WEBCORE_CSS_CACHE_COLUMN: - if (!model_->IsResourceFirstInGroup(row)) - return string16(); - return model_->GetResourceWebCoreCSSCacheSize(row); - - case IDS_TASK_MANAGER_FPS_COLUMN: - return model_->GetResourceFPS(row); - - case IDS_TASK_MANAGER_VIDEO_MEMORY_COLUMN: - return model_->GetResourceVideoMemory(row); - - case IDS_TASK_MANAGER_SQLITE_MEMORY_USED_COLUMN: - if (!model_->IsResourceFirstInGroup(row)) - return string16(); - return model_->GetResourceSqliteMemoryUsed(row); - - case IDS_TASK_MANAGER_JAVASCRIPT_MEMORY_ALLOCATED_COLUMN: - if (!model_->IsResourceFirstInGroup(row)) - return string16(); - return model_->GetResourceV8MemoryAllocatedSize(row); - - default: - NOTREACHED(); - return string16(); - } + return model_->GetResourceById(row, col_id); } gfx::ImageSkia TaskManagerTableModel::GetIcon(int row) { return model_->GetResourceIcon(row); } - void TaskManagerTableModel::GetGroupRangeForItem(int item, views::GroupRange* range) { TaskManagerModel::GroupRange range_pair = |