summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authordmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-23 01:54:12 +0000
committerdmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-23 01:54:12 +0000
commit7fc33d53b6bf0404bd3d0a8e2b0b0fda450ef423 (patch)
tree862efcedae71b08965e658662948da5495984785 /chrome/browser
parentd33e7cc3d6195681decd0787db8131eb614e7594 (diff)
downloadchromium_src-7fc33d53b6bf0404bd3d0a8e2b0b0fda450ef423.zip
chromium_src-7fc33d53b6bf0404bd3d0a8e2b0b0fda450ef423.tar.gz
chromium_src-7fc33d53b6bf0404bd3d0a8e2b0b0fda450ef423.tar.bz2
Initialize ExtensionAccessibilityEventRouter earlier.
On Chrome OS it needs to be initialized during the OOBE, and on other platforms there's no harm in allowing it to initialize itself in its constructor rather than waiting until a profile is loaded. BUG=97614 TEST=manual testing Review URL: http://codereview.chromium.org/8002001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102422 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/extensions/extension_accessibility_api.cc58
-rw-r--r--chrome/browser/extensions/extension_accessibility_api.h3
-rw-r--r--chrome/browser/extensions/extension_service.cc1
3 files changed, 26 insertions, 36 deletions
diff --git a/chrome/browser/extensions/extension_accessibility_api.cc b/chrome/browser/extensions/extension_accessibility_api.cc
index 80dde89..3568a00 100644
--- a/chrome/browser/extensions/extension_accessibility_api.cc
+++ b/chrome/browser/extensions/extension_accessibility_api.cc
@@ -41,44 +41,38 @@ ExtensionAccessibilityEventRouter*
}
ExtensionAccessibilityEventRouter::ExtensionAccessibilityEventRouter()
- : enabled_(false) {}
+ : enabled_(false) {
+ registrar_.Add(this,
+ chrome::NOTIFICATION_ACCESSIBILITY_WINDOW_OPENED,
+ NotificationService::AllSources());
+ registrar_.Add(this,
+ chrome::NOTIFICATION_ACCESSIBILITY_WINDOW_CLOSED,
+ NotificationService::AllSources());
+ registrar_.Add(this,
+ chrome::NOTIFICATION_ACCESSIBILITY_CONTROL_FOCUSED,
+ NotificationService::AllSources());
+ registrar_.Add(this,
+ chrome::NOTIFICATION_ACCESSIBILITY_CONTROL_ACTION,
+ NotificationService::AllSources());
+ registrar_.Add(this,
+ chrome::NOTIFICATION_ACCESSIBILITY_TEXT_CHANGED,
+ NotificationService::AllSources());
+ registrar_.Add(this,
+ chrome::NOTIFICATION_ACCESSIBILITY_MENU_OPENED,
+ NotificationService::AllSources());
+ registrar_.Add(this,
+ chrome::NOTIFICATION_ACCESSIBILITY_MENU_CLOSED,
+ NotificationService::AllSources());
+ registrar_.Add(this,
+ chrome::NOTIFICATION_ACCESSIBILITY_VOLUME_CHANGED,
+ NotificationService::AllSources());
+}
ExtensionAccessibilityEventRouter::~ExtensionAccessibilityEventRouter() {
STLDeleteElements(&on_enabled_listeners_);
STLDeleteElements(&on_disabled_listeners_);
}
-void ExtensionAccessibilityEventRouter::ObserveProfile(Profile* profile) {
- last_focused_control_dict_.Clear();
-
- if (registrar_.IsEmpty()) {
- registrar_.Add(this,
- chrome::NOTIFICATION_ACCESSIBILITY_WINDOW_OPENED,
- NotificationService::AllSources());
- registrar_.Add(this,
- chrome::NOTIFICATION_ACCESSIBILITY_WINDOW_CLOSED,
- NotificationService::AllSources());
- registrar_.Add(this,
- chrome::NOTIFICATION_ACCESSIBILITY_CONTROL_FOCUSED,
- NotificationService::AllSources());
- registrar_.Add(this,
- chrome::NOTIFICATION_ACCESSIBILITY_CONTROL_ACTION,
- NotificationService::AllSources());
- registrar_.Add(this,
- chrome::NOTIFICATION_ACCESSIBILITY_TEXT_CHANGED,
- NotificationService::AllSources());
- registrar_.Add(this,
- chrome::NOTIFICATION_ACCESSIBILITY_MENU_OPENED,
- NotificationService::AllSources());
- registrar_.Add(this,
- chrome::NOTIFICATION_ACCESSIBILITY_MENU_CLOSED,
- NotificationService::AllSources());
- registrar_.Add(this,
- chrome::NOTIFICATION_ACCESSIBILITY_VOLUME_CHANGED,
- NotificationService::AllSources());
- }
-}
-
void ExtensionAccessibilityEventRouter::Observe(
int type,
const NotificationSource& source,
diff --git a/chrome/browser/extensions/extension_accessibility_api.h b/chrome/browser/extensions/extension_accessibility_api.h
index d5dafcd..7e3a735 100644
--- a/chrome/browser/extensions/extension_accessibility_api.h
+++ b/chrome/browser/extensions/extension_accessibility_api.h
@@ -25,9 +25,6 @@ class ExtensionAccessibilityEventRouter : public NotificationObserver {
// Single instance of the event router.
static ExtensionAccessibilityEventRouter* GetInstance();
- // Safe to call multiple times.
- void ObserveProfile(Profile* profile);
-
// Get the dict representing the last control that received an
// OnControlFocus event.
DictionaryValue* last_focused_control_dict() {
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index d18e004..d8b7f5f 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -704,7 +704,6 @@ void ExtensionService::InitEventRouters() {
downloads_event_router_.reset(new ExtensionDownloadsEventRouter(profile_));
history_event_router_.reset(new ExtensionHistoryEventRouter());
history_event_router_->ObserveProfile(profile_);
- ExtensionAccessibilityEventRouter::GetInstance()->ObserveProfile(profile_);
browser_event_router_.reset(new ExtensionBrowserEventRouter(profile_));
browser_event_router_->Init();
preference_event_router_.reset(new ExtensionPreferenceEventRouter(profile_));