Index: chrome/browser/task_manager/task_manager.cc |
diff --git a/chrome/browser/task_manager/task_manager.cc b/chrome/browser/task_manager/task_manager.cc |
index 0ad35fa5287b94b21b7205f1153fe65d95491d2d..d6970d3bb0769703d317b1829190481da771554d 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(); |