Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5105)

Unified Diff: chrome/browser/chromeos/login/wizard_controller.cc

Issue 166273014: Remove dependency on NotificationService for cros a11y settings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge ToT. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/wizard_controller.cc
diff --git a/chrome/browser/chromeos/login/wizard_controller.cc b/chrome/browser/chromeos/login/wizard_controller.cc
index 66e17b4b6257acb00bab33b2cbebf9d1ca6140cd..b2cdaebf994685692261ca8e8b85f77ded3ba126 100644
--- a/chrome/browser/chromeos/login/wizard_controller.cc
+++ b/chrome/browser/chromeos/login/wizard_controller.cc
@@ -136,11 +136,11 @@ WizardController::WizardController(chromeos::LoginDisplayHost* host,
weak_factory_(this) {
DCHECK(default_controller_ == NULL);
default_controller_ = this;
-
- registrar_.Add(
- this,
- chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SPOKEN_FEEDBACK,
- content::NotificationService::AllSources());
+ AccessibilityManager* accessibility_manager = AccessibilityManager::Get();
+ CHECK(accessibility_manager);
+ accessibility_subscription_ = accessibility_manager->RegisterCallback(
+ base::Bind(&WizardController::OnAccessibilityStatusChanged,
+ base::Unretained(this)));
}
WizardController::~WizardController() {
@@ -826,18 +826,17 @@ void WizardController::HideErrorScreen(WizardScreen* parent_screen) {
SetCurrentScreen(parent_screen);
}
-void WizardController::Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) {
- if (type != chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SPOKEN_FEEDBACK) {
- NOTREACHED();
+void WizardController::OnAccessibilityStatusChanged(
+ const AccessibilityStatusEventDetails& details) {
+ enum AccessibilityNotificationType type = details.notification_type;
+ if (type == ACCESSIBILITY_MANAGER_SHUTDOWN) {
+ accessibility_subscription_.reset();
+ return;
+ } else if (type != ACCESSIBILITY_TOGGLE_SPOKEN_FEEDBACK || !details.enabled) {
return;
}
- const AccessibilityStatusEventDetails* a11y_details =
- content::Details<const AccessibilityStatusEventDetails>(details).ptr();
+
CrasAudioHandler* cras = CrasAudioHandler::Get();
- if (!a11y_details->enabled)
- return;
if (cras->IsOutputMuted()) {
cras->SetOutputMute(false);
cras->SetOutputVolumePercent(kMinAudibleOutputVolumePercent);

Powered by Google App Engine
This is Rietveld 408576698