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

Unified Diff: chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc

Issue 166273014: Remove dependency on NotificationService for cros a11y settings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix magnification manager. 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/accessibility/magnification_manager_browsertest.cc
diff --git a/chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc b/chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc
index 8b2280b92cbdf29f5fa5f5b1483ee5402854f5b7..58f10344a64d7d90600e452aef418046ffadf443 100644
--- a/chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc
+++ b/chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc
@@ -107,8 +107,7 @@ void PrepareNonNewProfile(const std::string& name) {
} // namespace
-class MagnificationManagerTest : public InProcessBrowserTest,
- public content::NotificationObserver {
+class MagnificationManagerTest : public InProcessBrowserTest {
protected:
MagnificationManagerTest() : observed_(false),
observed_enabled_(false),
@@ -122,37 +121,36 @@ class MagnificationManagerTest : public InProcessBrowserTest,
}
virtual void SetUpOnMainThread() OVERRIDE {
- registrar_.Add(
- this,
- chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFIER,
- content::NotificationService::AllSources());
+ AccessibilityManager* accessibility_manager = AccessibilityManager::Get();
+ CHECK(accessibility_manager);
+ accessibility_subscription_ = accessibility_manager->RegisterCallback(
+ base::Bind(&MagnificationManagerTest::OnAccessibilityStatusChanged,
+ base::Unretained(this)));
// Set the login-screen profile.
MagnificationManager::Get()->SetProfileForTest(
ProfileManager::GetActiveUserProfile());
}
- // content::NotificationObserver implementation.
- virtual void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) OVERRIDE {
- switch (type) {
- case chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFIER: {
- AccessibilityStatusEventDetails* accessibility_status =
- content::Details<AccessibilityStatusEventDetails>(details).ptr();
-
- observed_ = true;
- observed_enabled_ = accessibility_status->enabled;
- observed_type_ = accessibility_status->magnifier_type;
- break;
- }
+ virtual void TearDownOnMainThread() OVERRIDE {
+ accessibility_subscription_.reset();
+ }
+
+ void OnAccessibilityStatusChanged(
+ const AccessibilityStatusEventDetails& details) {
+ if (details.notification_type == ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFIER) {
+ observed_type_ = details.magnifier_type;
+ observed_enabled_ = details.enabled;
+ observed_ = true;
+ } else if (details.notification_type == ACCESSIBILITY_MANAGER_SHUTDOWN) {
+ accessibility_subscription_.reset();
}
}
bool observed_;
bool observed_enabled_;
ash::MagnifierType observed_type_;
- content::NotificationRegistrar registrar_;
+ scoped_ptr<AccessibilityStatusSubscription> accessibility_subscription_;
DISALLOW_COPY_AND_ASSIGN(MagnificationManagerTest);
};

Powered by Google App Engine
This is Rietveld 408576698