Index: chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc b/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc |
index 8db3e8b3e706ae219bbdfed47bfa64bdcdf446c6..8c943c1f0bea5c8326db5005b10975e8b9da6a18 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc |
@@ -8,7 +8,6 @@ |
#include "base/memory/scoped_ptr.h" |
#include "base/values.h" |
#include "chrome/browser/browser_process.h" |
-#include "chrome/browser/chrome_notification_types.h" |
#include "chrome/browser/chromeos/accessibility/accessibility_manager.h" |
#include "chrome/browser/chromeos/accessibility/magnification_manager.h" |
#include "chrome/browser/chromeos/login/wizard_controller.h" |
@@ -21,7 +20,6 @@ |
#include "chrome/common/chrome_constants.h" |
#include "chrome/common/chrome_version_info.h" |
#include "chromeos/chromeos_constants.h" |
-#include "content/public/browser/notification_service.h" |
#include "grit/chromium_strings.h" |
#include "grit/generated_resources.h" |
@@ -51,26 +49,11 @@ CoreOobeHandler::CoreOobeHandler(OobeUI* oobe_ui) |
show_oobe_ui_(false), |
version_info_updater_(this), |
delegate_(NULL) { |
- registrar_.Add( |
- this, |
- chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_HIGH_CONTRAST_MODE, |
- content::NotificationService::AllSources()); |
- registrar_.Add( |
- this, |
- chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFIER, |
- content::NotificationService::AllSources()); |
- registrar_.Add( |
- this, |
- chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SPOKEN_FEEDBACK, |
- content::NotificationService::AllSources()); |
- registrar_.Add( |
- this, |
- chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_LARGE_CURSOR, |
- content::NotificationService::AllSources()); |
- registrar_.Add( |
- this, |
- chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_VIRTUAL_KEYBOARD, |
- content::NotificationService::AllSources()); |
+ AccessibilityManager* accessibility_manager = AccessibilityManager::Get(); |
+ CHECK(accessibility_manager); |
+ accessibility_subscription_ = accessibility_manager->RegisterCallback( |
+ base::Bind(&CoreOobeHandler::OnAccessibilityStatusChanged, |
+ base::Unretained(this))); |
} |
CoreOobeHandler::~CoreOobeHandler() { |
@@ -326,20 +309,12 @@ void CoreOobeHandler::UpdateDeviceRequisition() { |
connector->GetDeviceCloudPolicyManager()->GetDeviceRequisition()); |
} |
-void CoreOobeHandler::Observe(int type, |
- const content::NotificationSource& source, |
- const content::NotificationDetails& details) { |
- if (type == |
- chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_HIGH_CONTRAST_MODE || |
- type == chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_LARGE_CURSOR || |
- type == chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFIER || |
- type == chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SPOKEN_FEEDBACK || |
- type == chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_VIRTUAL_KEYBOARD) |
- { |
+void CoreOobeHandler::OnAccessibilityStatusChanged( |
+ const AccessibilityStatusEventDetails& details) { |
+ if (details.notification_type == ACCESSIBILITY_MANAGER_SHUTDOWN) |
+ accessibility_subscription_.reset(); |
+ else |
UpdateA11yState(); |
- } else { |
- NOTREACHED() << "Unexpected notification " << type; |
- } |
} |
} // namespace chromeos |