diff options
Diffstat (limited to 'chrome/browser/automation/automation_provider.cc')
-rw-r--r-- | chrome/browser/automation/automation_provider.cc | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/chrome/browser/automation/automation_provider.cc b/chrome/browser/automation/automation_provider.cc index ec31959..ff96f55f0 100644 --- a/chrome/browser/automation/automation_provider.cc +++ b/chrome/browser/automation/automation_provider.cc @@ -29,7 +29,6 @@ #include "chrome/browser/views/bookmark_bar_view.h" #include "chrome/browser/views/location_bar_view.h" #include "chrome/common/chrome_paths.h" -#include "chrome/common/notification_registrar.h" #include "chrome/common/pref_service.h" #include "chrome/test/automation/automation_messages.h" #include "chrome/views/app_modal_dialog_delegate.h" @@ -46,21 +45,30 @@ class InitialLoadObserver : public NotificationObserver { automation_(automation) { if (outstanding_tab_count_ > 0) { NotificationService* service = NotificationService::current(); - registrar_.Add(this, NOTIFY_LOAD_START, - NotificationService::AllSources()); - registrar_.Add(this, NOTIFY_LOAD_STOP, - NotificationService::AllSources()); + service->AddObserver(this, NOTIFY_LOAD_START, + NotificationService::AllSources()); + service->AddObserver(this, NOTIFY_LOAD_STOP, + NotificationService::AllSources()); } } ~InitialLoadObserver() { + Unregister(); } void ConditionMet() { - registrar_.RemoveAll(); + Unregister(); automation_->Send(new AutomationMsg_InitialLoadsComplete(0)); } + void Unregister() { + NotificationService* service = NotificationService::current(); + service->RemoveObserver(this, NOTIFY_LOAD_START, + NotificationService::AllSources()); + service->RemoveObserver(this, NOTIFY_LOAD_STOP, + NotificationService::AllSources()); + } + virtual void Observe(NotificationType type, const NotificationSource& source, const NotificationDetails& details) { @@ -82,8 +90,6 @@ class InitialLoadObserver : public NotificationObserver { private: typedef std::set<uintptr_t> TabSet; - NotificationRegistrar registrar_; - AutomationProvider* automation_; size_t outstanding_tab_count_; TabSet loading_tabs_; |