| 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 fe88a0905a331b1fe9b843d6be1fdbde37c4f941..68838af7faa5bcc4f1b4373d058561f213a1ba61 100644
|
| --- a/chrome/browser/task_manager/task_manager.h
|
| +++ b/chrome/browser/task_manager/task_manager.h
|
| @@ -255,6 +255,11 @@ class TaskManagerModelObserver {
|
| // Invoked when a range of items has been removed.
|
| virtual void OnItemsRemoved(int start, int length) = 0;
|
|
|
| + // Invoked when a range of items is to be immediately removed. It differs
|
| + // from OnItemsRemoved by the fact that the item is still in the task manager,
|
| + // so it can be queried for and found.
|
| + virtual void OnItemsToBeRemoved(int start, int length) {}
|
| +
|
| // Invoked when the initialization of the model has been finished and
|
| // periodical updates is started. The first periodical update will be done
|
| // in a few seconds. (depending on platform)
|
| @@ -281,6 +286,7 @@ class TaskManagerModel : public base::RefCountedThreadSafe<TaskManagerModel> {
|
| int64 GetNetworkUsage(int index) const;
|
| double GetCPUUsage(int index) const;
|
| int GetProcessId(int index) const;
|
| + base::ProcessHandle GetProcess(int index) const;
|
| int GetResourceUniqueId(int index) const;
|
| // Returns the index of resource that has the given |unique_id|. Returns -1 if
|
| // no resouce has the |unique_id|.
|
| @@ -334,6 +340,10 @@ class TaskManagerModel : public base::RefCountedThreadSafe<TaskManagerModel> {
|
| // resource for the given row isn't a renderer.
|
| bool GetV8Memory(int index, size_t* result) const;
|
|
|
| + // Gets the amount of memory used for javascript. Returns false if the
|
| + // resource for the given row isn't a renderer.
|
| + bool GetV8MemoryUsed(int index, size_t* result) const;
|
| +
|
| // Returns true if resource for the given row can be activated.
|
| bool CanActivate(int index) const;
|
|
|
| @@ -397,6 +407,14 @@ class TaskManagerModel : public base::RefCountedThreadSafe<TaskManagerModel> {
|
| void StartUpdating();
|
| void StopUpdating();
|
|
|
| + // Listening involves calling StartUpdating on all resource providers. This
|
| + // causes all of them to subscribe to notifications and enumerate current
|
| + // resources. It differs from StartUpdating that it doesn't start the
|
| + // Refresh timer. The end result is that we have a full view of resources, but
|
| + // don't spend unneeded time updating, unless we have a real need to.
|
| + void StartListening();
|
| + void StopListening();
|
| +
|
| void Clear(); // Removes all items.
|
|
|
| // Sends OnModelChanged() to all observers to inform them of significant
|
| @@ -542,9 +560,17 @@ class TaskManagerModel : public base::RefCountedThreadSafe<TaskManagerModel> {
|
| // StopUpdating.
|
| int update_requests_;
|
|
|
| + // How many calls to StartListening have been made without matching calls to
|
| + // StopListening.
|
| + int listen_requests_;
|
| +
|
| // Whether we are currently in the process of updating.
|
| UpdateState update_state_;
|
|
|
| + // Whether we have resource managers listening for events and maintaining
|
| + // the TaskManagerModel resources.
|
| + bool is_listening_;
|
| +
|
| // A salt lick for the goats.
|
| uint64 goat_salt_;
|
|
|
|
|