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 0457b63e780cdc2e2b85e85500100ab2f04b1068..d705421e18a498b8172d4d820288cb853f424e58 100644 |
--- a/chrome/browser/task_manager/task_manager.cc |
+++ b/chrome/browser/task_manager/task_manager.cc |
@@ -586,6 +586,15 @@ bool TaskManagerModel::GetV8Memory(int index, size_t* result) const { |
return true; |
} |
+bool TaskManagerModel::GetV8MemoryUsed(int index, size_t* result) const { |
+ *result = 0; |
+ if (!resources_[index]->ReportsV8MemoryStats()) |
+ return false; |
+ |
+ *result = resources_[index]->GetV8MemoryUsed(); |
+ return true; |
+} |
+ |
bool TaskManagerModel::CanActivate(int index) const { |
CHECK_LT(index, ResourceCount()); |
return GetResourceTabContents(index) != NULL; |
@@ -758,10 +767,16 @@ void TaskManagerModel::RemoveResource(TaskManager::Resource* resource) { |
cpu_usage_map_.erase(cpu_iter); |
} |
- // Remove the entry from the model list. |
+ // Prepare to remove the entry from the model list. |
iter = std::find(resources_.begin(), resources_.end(), resource); |
DCHECK(iter != resources_.end()); |
int index = static_cast<int>(iter - resources_.begin()); |
+ |
+ // Notify the observers that the contents will change. |
+ FOR_EACH_OBSERVER(TaskManagerModelObserver, observer_list_, |
+ OnItemsToBeRemoved(index, 1)); |
+ |
+ // Now actually remove the entry from the model list. |
resources_.erase(iter); |
// Remove the entry from the network maps. |