Chromium Code Reviews| Index: chrome/browser/ui/task_manager/task_manager_table_model.cc |
| diff --git a/chrome/browser/ui/task_manager/task_manager_table_model.cc b/chrome/browser/ui/task_manager/task_manager_table_model.cc |
| index 75bf306bc78a4b294667f23dd19e53bb1f52a327..021299194fcb83ea75e96e8af4660dbb9a56a6ce 100644 |
| --- a/chrome/browser/ui/task_manager/task_manager_table_model.cc |
| +++ b/chrome/browser/ui/task_manager/task_manager_table_model.cc |
| @@ -33,6 +33,8 @@ namespace task_management { |
| namespace { |
| +TaskManagerTableModel* g_instance_for_testing = nullptr; |
| + |
| #if defined(OS_MACOSX) |
| // Match Activity Monitor's default refresh rate. |
| const int64_t kRefreshTimeMS = 2000; |
| @@ -270,11 +272,18 @@ TaskManagerTableModel::TaskManagerTableModel(int64_t refresh_flags, |
| #else |
| is_nacl_debugging_flag_enabled_(false) { |
| #endif // !defined(DISABLE_NACL) |
| + |
| + if (!g_instance_for_testing) |
|
afakhry
2016/04/28 00:03:13
That's weird! Can that happen? Can we instantiate
ncarter (slow)
2016/05/02 18:33:28
I've added a comment to g_instance_for_testing des
|
| + g_instance_for_testing = this; |
| + |
| DCHECK(delegate); |
| StartUpdating(); |
| } |
| TaskManagerTableModel::~TaskManagerTableModel() { |
| + if (g_instance_for_testing == this) |
| + g_instance_for_testing = nullptr; |
| + |
| StopUpdating(); |
| } |
| @@ -804,6 +813,11 @@ void TaskManagerTableModel::ToggleColumnVisibility(int column_id) { |
| UpdateRefreshTypes(column_id, new_visibility); |
| } |
| +// static |
| +TaskManagerTableModel* TaskManagerTableModel::GetInstanceForTesting() { |
| + return g_instance_for_testing; |
| +} |
| + |
| void TaskManagerTableModel::StartUpdating() { |
| TaskManagerInterface::GetTaskManager()->AddObserver(this); |
| tasks_ = observed_task_manager()->GetTaskIdsList(); |