Index: chrome/browser/task_management/providers/task_provider.cc |
diff --git a/chrome/browser/task_management/providers/task_provider.cc b/chrome/browser/task_management/providers/task_provider.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1d08d8d7b9baf87f7e1f8ce58177accb28d5d081 |
--- /dev/null |
+++ b/chrome/browser/task_management/providers/task_provider.cc |
@@ -0,0 +1,39 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/browser/task_management/providers/task_provider.h" |
+ |
+namespace task_management { |
+ |
+TaskProvider::TaskProvider() |
+ : observer_(nullptr) { |
+} |
+ |
+TaskProvider::~TaskProvider() { |
+} |
+ |
+void TaskProvider::SetObserver(TaskProviderObserver* observer) { |
+ DCHECK(observer); |
+ DCHECK(!observer_); |
+ observer_ = observer; |
+ StartUpdating(); |
+} |
+ |
+void TaskProvider::ClearObserver() { |
+ DCHECK(observer_); |
+ observer_ = nullptr; |
+ StopUpdating(); |
+} |
+ |
+void TaskProvider::NotifyObserverTaskAdded(Task* task) const { |
+ DCHECK(observer_); |
Lei Zhang
2015/04/01 22:47:51
There's no real need to DCHECK a pointer right bef
afakhry
2015/04/03 01:51:01
Yes but it would provide better debugging clues as
|
+ observer_->TaskAdded(task); |
+} |
+ |
+void TaskProvider::NotifyObserverTaskRemoved(Task* task) const { |
+ DCHECK(observer_); |
+ observer_->TaskRemoved(task); |
+} |
+ |
+} // namespace task_management |