summaryrefslogtreecommitdiffstats
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
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
-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_));