| 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.
|
|
|