From a754453c13d397bb9b49a0bbb61e276fa0190365 Mon Sep 17 00:00:00 2001 From: "phajdan.jr@chromium.org" Date: Wed, 15 Jul 2009 20:32:51 +0000 Subject: Add more browser tests for Task Manager. TEST=Covered by browser_tests. http://crbug.com/12127 Review URL: http://codereview.chromium.org/155433 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20786 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/task_manager.cc | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) (limited to 'chrome/browser/task_manager.cc') diff --git a/chrome/browser/task_manager.cc b/chrome/browser/task_manager.cc index d80d51c..b7de95e 100644 --- a/chrome/browser/task_manager.cc +++ b/chrome/browser/task_manager.cc @@ -44,8 +44,7 @@ static int ValueCompare(T value1, T value2) { int TaskManagerModel::goats_teleported_ = 0; TaskManagerModel::TaskManagerModel(TaskManager* task_manager) - : observer_(NULL), - ui_loop_(MessageLoop::current()), + : ui_loop_(MessageLoop::current()), update_state_(IDLE) { TaskManagerBrowserProcessResourceProvider* browser_provider = @@ -77,8 +76,12 @@ int TaskManagerModel::ResourceCount() const { return resources_.size(); } -void TaskManagerModel::SetObserver(TaskManagerModelObserver* observer) { - observer_ = observer; +void TaskManagerModel::AddObserver(TaskManagerModelObserver* observer) { + observer_list_.AddObserver(observer); +} + +void TaskManagerModel::RemoveObserver(TaskManagerModelObserver* observer) { + observer_list_.RemoveObserver(observer); } std::wstring TaskManagerModel::GetResourceTitle(int index) const { @@ -443,8 +446,8 @@ void TaskManagerModel::AddResource(TaskManager::Resource* resource) { } // Notify the table that the contents have changed for it to redraw. - if (observer_) - observer_->OnItemsAdded(new_entry_index, 1); + FOR_EACH_OBSERVER(TaskManagerModelObserver, observer_list_, + OnItemsAdded(new_entry_index, 1)); } void TaskManagerModel::RemoveResource(TaskManager::Resource* resource) { @@ -496,8 +499,8 @@ void TaskManagerModel::RemoveResource(TaskManager::Resource* resource) { displayed_network_usage_map_.erase(net_iter); // Notify the table that the contents have changed. - if (observer_) - observer_->OnItemsRemoved(index, 1); + FOR_EACH_OBSERVER(TaskManagerModelObserver, observer_list_, + OnItemsRemoved(index, 1)); } void TaskManagerModel::Clear() { @@ -524,8 +527,8 @@ void TaskManagerModel::Clear() { current_byte_count_map_.clear(); displayed_network_usage_map_.clear(); - if (observer_) - observer_->OnItemsRemoved(0, size); + FOR_EACH_OBSERVER(TaskManagerModelObserver, observer_list_, + OnItemsRemoved(0, size)); } } @@ -571,8 +574,10 @@ void TaskManagerModel::Refresh() { // Then we reset the current byte count. iter->second = 0; } - if (!resources_.empty() && observer_) - observer_->OnItemsChanged(0, ResourceCount()); + if (!resources_.empty()) { + FOR_EACH_OBSERVER(TaskManagerModelObserver, observer_list_, + OnItemsChanged(0, ResourceCount())); + } // Schedule the next update. MessageLoop::current()->PostDelayedTask(FROM_HERE, -- cgit v1.1