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(); |