Index: chrome/browser/sync/glue/data_type_manager_impl.cc |
diff --git a/chrome/browser/sync/glue/data_type_manager_impl.cc b/chrome/browser/sync/glue/data_type_manager_impl.cc |
index 7721c4748bb1ea918503b5d7767c5812d665ff77..e55abebab18ec5ba582a1a0ab417a3b9295b619d 100644 |
--- a/chrome/browser/sync/glue/data_type_manager_impl.cc |
+++ b/chrome/browser/sync/glue/data_type_manager_impl.cc |
@@ -18,11 +18,8 @@ |
#include "base/stringprintf.h" |
#include "chrome/browser/sync/glue/chrome_report_unrecoverable_error.h" |
#include "chrome/browser/sync/glue/data_type_controller.h" |
-#include "chrome/common/chrome_notification_types.h" |
+#include "chrome/browser/sync/glue/data_type_manager_observer.h" |
#include "content/public/browser/browser_thread.h" |
-#include "content/public/browser/notification_details.h" |
-#include "content/public/browser/notification_service.h" |
-#include "content/public/browser/notification_source.h" |
using content::BrowserThread; |
@@ -92,6 +89,18 @@ void DataTypeManagerImpl::ConfigureImpl( |
Restart(reason); |
} |
+void DataTypeManagerImpl::AddObserver(Observer* observer) { |
+ observers_.AddObserver(observer); |
+} |
+ |
+void DataTypeManagerImpl::RemoveObserver(Observer* observer) { |
+ observers_.RemoveObserver(observer); |
+} |
+ |
+bool DataTypeManagerImpl::HasObserver(Observer* observer) const { |
+ return observers_.HasObserver(observer); |
+} |
+ |
void DataTypeManagerImpl::Restart(syncer::ConfigureReason reason) { |
DVLOG(1) << "Restarting..."; |
model_association_manager_.Initialize(last_requested_types_); |
@@ -162,17 +171,8 @@ bool DataTypeManagerImpl::ProcessReconfigure() { |
void DataTypeManagerImpl::OnDownloadRetry() { |
DCHECK_EQ(state_, DOWNLOAD_PENDING); |
- |
- // Inform the listeners we are waiting. |
- ConfigureResult result; |
- result.status = DataTypeManager::RETRY; |
- |
- // TODO(lipalani): Add a new NOTIFICATION_SYNC_CONFIGURE_RETRY. |
- // crbug.com/111676. |
- content::NotificationService::current()->Notify( |
- chrome::NOTIFICATION_SYNC_CONFIGURE_DONE, |
- content::Source<DataTypeManager>(this), |
- content::Details<const ConfigureResult>(&result)); |
+ last_configure_result_ = ConfigureResult(DataTypeManager::RETRY); |
tim (not reviewing)
2012/08/16 18:25:20
Was there a reason you chose to move retry to its
Raghu Simha
2012/08/17 01:56:42
I did so based on the TODO that used to sit here.
|
+ FOR_EACH_OBSERVER(Observer, observers_, OnConfigureRetry()); |
} |
void DataTypeManagerImpl::DownloadReady( |
@@ -299,10 +299,8 @@ void DataTypeManagerImpl::Abort(ConfigureStatus status, |
} |
void DataTypeManagerImpl::NotifyStart() { |
- content::NotificationService::current()->Notify( |
- chrome::NOTIFICATION_SYNC_CONFIGURE_START, |
- content::Source<DataTypeManager>(this), |
- content::NotificationService::NoDetails()); |
+ last_configure_result_ = ConfigureResult(); |
+ FOR_EACH_OBSERVER(Observer, observers_, OnConfigureStart()); |
} |
void DataTypeManagerImpl::NotifyDone(const ConfigureResult& result) { |
@@ -335,25 +333,26 @@ void DataTypeManagerImpl::NotifyDone(const ConfigureResult& result) { |
NOTREACHED(); |
break; |
} |
- content::NotificationService::current()->Notify( |
- chrome::NOTIFICATION_SYNC_CONFIGURE_DONE, |
- content::Source<DataTypeManager>(this), |
- content::Details<const ConfigureResult>(&result)); |
+ last_configure_result_ = result; |
+ FOR_EACH_OBSERVER(Observer, observers_, OnConfigureDone()); |
} |
DataTypeManager::State DataTypeManagerImpl::state() const { |
return state_; |
} |
+const DataTypeManager::ConfigureResult& |
+DataTypeManagerImpl::last_configure_result() const { |
+ return last_configure_result_; |
+} |
+ |
void DataTypeManagerImpl::SetBlockedAndNotify() { |
state_ = BLOCKED; |
AddToConfigureTime(); |
DVLOG(1) << "Accumulated spent configuring: " |
<< configure_time_delta_.InSecondsF() << "s"; |
- content::NotificationService::current()->Notify( |
- chrome::NOTIFICATION_SYNC_CONFIGURE_BLOCKED, |
- content::Source<DataTypeManager>(this), |
- content::NotificationService::NoDetails()); |
+ last_configure_result_ = ConfigureResult(DataTypeManager::CONFIGURE_BLOCKED); |
+ FOR_EACH_OBSERVER(Observer, observers_, OnConfigureBlocked()); |
} |
void DataTypeManagerImpl::AddToConfigureTime() { |