summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authorpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-22 02:02:34 +0000
committerpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-22 02:02:34 +0000
commit44e8f7c1eca7651e1162333584a66084290a71d7 (patch)
tree3ab35c2eec844f06fd82bc8acb8a632fc6ff2541 /chrome/browser
parentf02e75847af83123902bd465ddd30276306abd49 (diff)
downloadchromium_src-44e8f7c1eca7651e1162333584a66084290a71d7.zip
chromium_src-44e8f7c1eca7651e1162333584a66084290a71d7.tar.gz
chromium_src-44e8f7c1eca7651e1162333584a66084290a71d7.tar.bz2
Use a NotificationRegistrar to listen for notifications.
BUG=2381 Review URL: http://codereview.chromium.org/113744 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16709 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/browser_accessibility_manager.cc8
-rw-r--r--chrome/browser/browser_accessibility_manager.h4
2 files changed, 5 insertions, 7 deletions
diff --git a/chrome/browser/browser_accessibility_manager.cc b/chrome/browser/browser_accessibility_manager.cc
index 0930024..5190870 100644
--- a/chrome/browser/browser_accessibility_manager.cc
+++ b/chrome/browser/browser_accessibility_manager.cc
@@ -22,17 +22,13 @@ BrowserAccessibilityManager* BrowserAccessibilityManager::GetInstance() {
}
BrowserAccessibilityManager::BrowserAccessibilityManager() {
- NotificationService::current()->AddObserver(this,
- NotificationType::RENDERER_PROCESS_TERMINATED,
- NotificationService::AllSources());
+ registrar_.Add(this, NotificationType::RENDERER_PROCESS_TERMINATED,
+ NotificationService::AllSources());
}
BrowserAccessibilityManager::~BrowserAccessibilityManager() {
// Clear hashmap.
render_process_host_map_.clear();
-
- // We don't remove ourselves as an observer because we are a Singleton object,
- // and NotifcationService is likely gone by this point.
}
STDMETHODIMP BrowserAccessibilityManager::CreateAccessibilityInstance(
diff --git a/chrome/browser/browser_accessibility_manager.h b/chrome/browser/browser_accessibility_manager.h
index 081f978..4af1363 100644
--- a/chrome/browser/browser_accessibility_manager.h
+++ b/chrome/browser/browser_accessibility_manager.h
@@ -8,7 +8,7 @@
#include <map>
#include "base/singleton.h"
-#include "chrome/common/notification_observer.h"
+#include "chrome/common/notification_registrar.h"
#include "webkit/glue/webaccessibility.h"
class BrowserAccessibility;
@@ -81,6 +81,8 @@ class BrowserAccessibilityManager : public NotificationObserver {
typedef std::multimap<int, BrowserAccessibility*> RenderProcessHostMap;
typedef std::pair<int, BrowserAccessibility*> MapEntry;
+ NotificationRegistrar registrar_;
+
// Mapping to track which RenderProcessHosts ids are active. If a
// RenderProcessHost is found to be terminated, its id (key) should be removed
// from this mapping, and the connected BrowserAccessibility ids/instances