Index: chrome/browser/task_manager/task_manager.h |
diff --git a/chrome/browser/task_manager/task_manager.h b/chrome/browser/task_manager/task_manager.h |
index 117ac60bf79f9fb9060704af36a093d8b0b0e389..60a8ced74cf19d7c52840c91172f35d13ac518f7 100644 |
--- a/chrome/browser/task_manager/task_manager.h |
+++ b/chrome/browser/task_manager/task_manager.h |
@@ -18,6 +18,7 @@ |
#include "base/string16.h" |
#include "base/timer.h" |
#include "chrome/browser/renderer_host/web_cache_manager.h" |
+#include "content/public/common/gpu_info.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebCache.h" |
class TaskManagerModel; |
@@ -314,6 +315,7 @@ class TaskManagerModel : public base::RefCountedThreadSafe<TaskManagerModel> { |
string16 GetResourceWebCoreImageCacheSize(int index) const; |
string16 GetResourceWebCoreScriptsCacheSize(int index) const; |
string16 GetResourceWebCoreCSSCacheSize(int index) const; |
+ string16 GetResourceVidmem(int index) const; |
string16 GetResourceFPS(int index) const; |
string16 GetResourceSqliteMemoryUsed(int index) const; |
string16 GetResourceGoatsTeleported(int index) const; |
@@ -338,6 +340,9 @@ class TaskManagerModel : public base::RefCountedThreadSafe<TaskManagerModel> { |
bool GetWebCoreCacheStats(int index, |
WebKit::WebCache::ResourceTypeStats* result) const; |
+ // Gets the GPU memory allocated of the given page. |
+ bool GetVidmem(int index, size_t* vidmem, bool* has_duplicates) const; |
+ |
// Gets the fps of the given page. Return false if the resource for the given |
// row isn't a renderer. |
bool GetFPS(int index, float* result) const; |
@@ -439,6 +444,8 @@ class TaskManagerModel : public base::RefCountedThreadSafe<TaskManagerModel> { |
int routing_id, |
float fps); |
+ void NotifyVidmem(const content::GPUVidmem& vidmem); |
+ |
void NotifyV8HeapStats(base::ProcessId renderer_id, |
size_t v8_memory_allocated, |
size_t v8_memory_used); |
@@ -494,6 +501,8 @@ class TaskManagerModel : public base::RefCountedThreadSafe<TaskManagerModel> { |
// Updates the values for all rows. |
void Refresh(); |
+ void RefreshVidmem(); |
+ |
void AddItem(TaskManager::Resource* resource, bool notify_table); |
void RemoveItem(TaskManager::Resource* resource); |
@@ -558,6 +567,10 @@ class TaskManagerModel : public base::RefCountedThreadSafe<TaskManagerModel> { |
// A map that contains the CPU usage (in %) for a process since last refresh. |
CPUUsageMap cpu_usage_map_; |
+ // A map that contains the video memory usage for a process |
+ content::GPUVidmem vidmem_; |
+ bool pending_vidmem_update_; |
+ |
// A map that contains the private/shared memory usage of the process. We |
// cache this because the same APIs are called on linux and windows, and |
// because the linux call takes >10ms to complete. This cache is cleared on |