diff options
author | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-23 01:54:12 +0000 |
---|---|---|
committer | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-23 01:54:12 +0000 |
commit | 7fc33d53b6bf0404bd3d0a8e2b0b0fda450ef423 (patch) | |
tree | 862efcedae71b08965e658662948da5495984785 /chrome/browser/extensions/extension_accessibility_api.cc | |
parent | d33e7cc3d6195681decd0787db8131eb614e7594 (diff) | |
download | chromium_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/extensions/extension_accessibility_api.cc')
-rw-r--r-- | chrome/browser/extensions/extension_accessibility_api.cc | 58 |
1 files changed, 26 insertions, 32 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, |