summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoracolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-10 16:46:31 +0000
committeracolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-10 16:46:31 +0000
commitd830c09a119ef8fdb996c54cf7dc27696a12c637 (patch)
treed4abc30652914395b10a77ab494b6a00957b7dbc
parent5c4ac80fa18fddb045a69c6e02641b9f623e138a (diff)
downloadchromium_src-d830c09a119ef8fdb996c54cf7dc27696a12c637.zip
chromium_src-d830c09a119ef8fdb996c54cf7dc27696a12c637.tar.gz
chromium_src-d830c09a119ef8fdb996c54cf7dc27696a12c637.tar.bz2
Revert 176087
Appears to break ChromeOS browser_tests. > Re-introduce the partial magnifier > > Major Changes: > - Adding a selectbox at the right of screen magnifier setting on the setting page. > - Adding 'screen_magnifier_type2' pref. > - Separating the enable/disable state of magnifier from MagnifierType. MagnifierType does no longer indicate the current enable/disable status. > - Add IsMagnifierEnabled() to shell delegate. > > BUG=166832 > TEST=confirm that magnifier can be enabled/disabled via the tray and the settings page. browser_test passes. > > R=zork@chromium.org, derat@chromium.org, nkostylev@chromium.org > TBR=jhawkins@chromium.org > # TBRing for small changed in C/B/ui/webui/options/ and C/B/resources/options/ > > Review URL: https://chromiumcodereview.appspot.com/11642014 TBR=yoshiki@chromium.org Review URL: https://codereview.chromium.org/11821053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176102 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--ash/magnifier/magnifier_constants.h10
-rw-r--r--ash/shell/shell_delegate_impl.cc13
-rw-r--r--ash/shell/shell_delegate_impl.h5
-rw-r--r--ash/shell_delegate.h10
-rw-r--r--ash/system/tray_accessibility.cc10
-rw-r--r--ash/test/test_shell_delegate.cc13
-rw-r--r--ash/test/test_shell_delegate.h5
-rw-r--r--chrome/browser/chromeos/accessibility/accessibility_util.cc35
-rw-r--r--chrome/browser/chromeos/accessibility/accessibility_util.h16
-rw-r--r--chrome/browser/chromeos/accessibility/magnification_manager.cc132
-rw-r--r--chrome/browser/chromeos/accessibility/magnification_manager.h16
-rw-r--r--chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc396
-rw-r--r--chrome/browser/chromeos/preferences.cc8
-rw-r--r--chrome/browser/chromeos/preferences.h1
-rw-r--r--chrome/browser/chromeos/system/tray_accessibility_browsertest.cc53
-rw-r--r--chrome/browser/resources/options/browser_options.html4
-rw-r--r--chrome/browser/ui/ash/ash_init.cc10
-rw-r--r--chrome/browser/ui/ash/chrome_shell_delegate.cc22
-rw-r--r--chrome/browser/ui/ash/chrome_shell_delegate.h4
-rw-r--r--chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc8
-rw-r--r--chrome/browser/ui/webui/options/browser_options_handler.cc17
-rw-r--r--chrome/common/pref_names.cc4
-rw-r--r--chrome/common/pref_names.h1
23 files changed, 257 insertions, 536 deletions
diff --git a/ash/magnifier/magnifier_constants.h b/ash/magnifier/magnifier_constants.h
index aa7cac7..4ca4c89 100644
--- a/ash/magnifier/magnifier_constants.h
+++ b/ash/magnifier/magnifier_constants.h
@@ -7,16 +7,12 @@
namespace ash {
-// Note: Do not change these values; UMA and prefs depend on them.
enum MagnifierType {
- MAGNIFIER_FULL = 1,
- MAGNIFIER_PARTIAL = 2,
+ MAGNIFIER_OFF,
+ MAGNIFIER_FULL,
+ MAGNIFIER_PARTIAL,
};
-const int kMaxMagnifierType = 2;
-
-const MagnifierType kDefaultMagnifierType = MAGNIFIER_FULL;
-
} // namespace ash
#endif // ASH_MAGNIFIER_MAGNIFIER_CONSTANTS_H_
diff --git a/ash/shell/shell_delegate_impl.cc b/ash/shell/shell_delegate_impl.cc
index 681dfb5..fde2bd1 100644
--- a/ash/shell/shell_delegate_impl.cc
+++ b/ash/shell/shell_delegate_impl.cc
@@ -25,8 +25,7 @@ ShellDelegateImpl::ShellDelegateImpl()
locked_(false),
spoken_feedback_enabled_(false),
high_contrast_enabled_(false),
- screen_magnifier_enabled_(false),
- screen_magnifier_type_(kDefaultMagnifierType) {
+ screen_magnifier_type_(MAGNIFIER_OFF) {
}
ShellDelegateImpl::~ShellDelegateImpl() {
@@ -135,18 +134,10 @@ bool ShellDelegateImpl::IsHighContrastEnabled() const {
return high_contrast_enabled_;
}
-void ShellDelegateImpl::SetMagnifierEnabled(bool enabled) {
- screen_magnifier_enabled_ = enabled;
-}
-
-void ShellDelegateImpl::SetMagnifierType(MagnifierType type) {
+void ShellDelegateImpl::SetMagnifier(MagnifierType type) {
screen_magnifier_type_ = type;
}
-bool ShellDelegateImpl::IsMagnifierEnabled() const {
- return screen_magnifier_enabled_;
-}
-
MagnifierType ShellDelegateImpl::GetMagnifierType() const {
return screen_magnifier_type_;
}
diff --git a/ash/shell/shell_delegate_impl.h b/ash/shell/shell_delegate_impl.h
index e94d08a..3a987e2 100644
--- a/ash/shell/shell_delegate_impl.h
+++ b/ash/shell/shell_delegate_impl.h
@@ -46,9 +46,7 @@ class ShellDelegateImpl : public ash::ShellDelegate {
virtual bool IsSpokenFeedbackEnabled() const OVERRIDE;
virtual void ToggleHighContrast() OVERRIDE;
virtual bool IsHighContrastEnabled() const OVERRIDE;
- virtual void SetMagnifierEnabled(bool enabled) OVERRIDE;
- virtual void SetMagnifierType(MagnifierType type) OVERRIDE;
- virtual bool IsMagnifierEnabled() const OVERRIDE;
+ virtual void SetMagnifier(MagnifierType type) OVERRIDE;
virtual MagnifierType GetMagnifierType() const OVERRIDE;
virtual bool ShouldAlwaysShowAccessibilityMenu() const OVERRIDE;
virtual app_list::AppListViewDelegate* CreateAppListViewDelegate() OVERRIDE;
@@ -81,7 +79,6 @@ class ShellDelegateImpl : public ash::ShellDelegate {
bool locked_;
bool spoken_feedback_enabled_;
bool high_contrast_enabled_;
- bool screen_magnifier_enabled_;
MagnifierType screen_magnifier_type_;
DISALLOW_COPY_AND_ASSIGN(ShellDelegateImpl);
diff --git a/ash/shell_delegate.h b/ash/shell_delegate.h
index 6a9dd08..bdd3958 100644
--- a/ash/shell_delegate.h
+++ b/ash/shell_delegate.h
@@ -149,14 +149,8 @@ class ASH_EXPORT ShellDelegate {
// Returns true if high contrast mode is enabled.
virtual bool IsHighContrastEnabled() const = 0;
- // Invoked to enable the screen magnifier.
- virtual void SetMagnifierEnabled(bool enabled) = 0;
-
- // Invoked to change the type of the screen magnifier.
- virtual void SetMagnifierType(MagnifierType type) = 0;
-
- // Returns if the screen magnifier is enabled or not.
- virtual bool IsMagnifierEnabled() const = 0;
+ // Invoked to change the mode of the screen magnifier.
+ virtual void SetMagnifier(MagnifierType type) = 0;
// Returns the current screen magnifier mode.
virtual MagnifierType GetMagnifierType() const = 0;
diff --git a/ash/system/tray_accessibility.cc b/ash/system/tray_accessibility.cc
index b64671a..9b1d261 100644
--- a/ash/system/tray_accessibility.cc
+++ b/ash/system/tray_accessibility.cc
@@ -44,7 +44,7 @@ uint32 GetAccessibilityState() {
state |= A11Y_SPOKEN_FEEDBACK;
if (shell_delegate->IsHighContrastEnabled())
state |= A11Y_HIGH_CONTRAST;
- if (shell_delegate->IsMagnifierEnabled())
+ if (shell_delegate->GetMagnifierType() != ash::MAGNIFIER_OFF)
state |= A11Y_SCREEN_MAGNIFIER;
return state;
}
@@ -138,7 +138,8 @@ void AccessibilityDetailedView::AppendAccessibilityList() {
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_HIGH_CONTRAST_MODE),
high_contrast_enabled_ ? gfx::Font::BOLD : gfx::Font::NORMAL,
high_contrast_enabled_);
- screen_magnifier_enabled_ = shell_delegate->IsMagnifierEnabled();
+ screen_magnifier_enabled_ =
+ shell_delegate->GetMagnifierType() == ash::MAGNIFIER_FULL;
screen_magnifier_view_ = AddScrollListItem(
bundle.GetLocalizedString(
IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SCREEN_MAGNIFIER),
@@ -197,7 +198,10 @@ void AccessibilityDetailedView::ClickedOn(views::View* sender) {
} else if (sender == high_contrast_view_) {
shell_delegate->ToggleHighContrast();
} else if (sender == screen_magnifier_view_) {
- shell_delegate->SetMagnifierEnabled(!shell_delegate->IsMagnifierEnabled());
+ bool screen_magnifier_enabled =
+ shell_delegate->GetMagnifierType() == ash::MAGNIFIER_FULL;
+ shell_delegate->SetMagnifier(
+ screen_magnifier_enabled ? ash::MAGNIFIER_OFF : ash::MAGNIFIER_FULL);
}
}
diff --git a/ash/test/test_shell_delegate.cc b/ash/test/test_shell_delegate.cc
index c2fdc60..f782c86 100644
--- a/ash/test/test_shell_delegate.cc
+++ b/ash/test/test_shell_delegate.cc
@@ -24,8 +24,7 @@ TestShellDelegate::TestShellDelegate()
session_started_(true),
spoken_feedback_enabled_(false),
high_contrast_enabled_(false),
- screen_magnifier_enabled_(false),
- screen_magnifier_type_(kDefaultMagnifierType),
+ screen_magnifier_type_(MAGNIFIER_OFF),
user_logged_in_(true),
can_lock_screen_(true),
num_exit_requests_(0) {
@@ -125,18 +124,10 @@ bool TestShellDelegate::IsHighContrastEnabled() const {
return high_contrast_enabled_;
}
-void TestShellDelegate::SetMagnifierEnabled(bool enabled) {
- screen_magnifier_enabled_ = enabled;
-}
-
-void TestShellDelegate::SetMagnifierType(MagnifierType type) {
+void TestShellDelegate::SetMagnifier(const MagnifierType type) {
screen_magnifier_type_ = type;
}
-bool TestShellDelegate::IsMagnifierEnabled() const {
- return screen_magnifier_enabled_;
-}
-
MagnifierType TestShellDelegate::GetMagnifierType() const {
return screen_magnifier_type_;
}
diff --git a/ash/test/test_shell_delegate.h b/ash/test/test_shell_delegate.h
index 76add5d..f7bb171 100644
--- a/ash/test/test_shell_delegate.h
+++ b/ash/test/test_shell_delegate.h
@@ -45,9 +45,7 @@ class TestShellDelegate : public ShellDelegate {
virtual bool IsSpokenFeedbackEnabled() const OVERRIDE;
virtual void ToggleHighContrast() OVERRIDE;
virtual bool IsHighContrastEnabled() const OVERRIDE;
- virtual void SetMagnifierEnabled(bool enabled) OVERRIDE;
- virtual void SetMagnifierType(MagnifierType type) OVERRIDE;
- virtual bool IsMagnifierEnabled() const OVERRIDE;
+ virtual void SetMagnifier(MagnifierType type) OVERRIDE;
virtual MagnifierType GetMagnifierType() const OVERRIDE;
virtual bool ShouldAlwaysShowAccessibilityMenu() const OVERRIDE;
virtual app_list::AppListViewDelegate* CreateAppListViewDelegate() OVERRIDE;
@@ -96,7 +94,6 @@ class TestShellDelegate : public ShellDelegate {
bool session_started_;
bool spoken_feedback_enabled_;
bool high_contrast_enabled_;
- bool screen_magnifier_enabled_;
MagnifierType screen_magnifier_type_;
bool user_logged_in_;
bool can_lock_screen_;
diff --git a/chrome/browser/chromeos/accessibility/accessibility_util.cc b/chrome/browser/chromeos/accessibility/accessibility_util.cc
index 86778d6..faa58f9 100644
--- a/chrome/browser/chromeos/accessibility/accessibility_util.cc
+++ b/chrome/browser/chromeos/accessibility/accessibility_util.cc
@@ -50,6 +50,10 @@ using content::RenderViewHost;
namespace chromeos {
namespace accessibility {
+const char kScreenMagnifierOff[] = "";
+const char kScreenMagnifierFull[] = "full";
+const char kScreenMagnifierPartial[] = "partial";
+
// Helper class that directly loads an extension's content scripts into
// all of the frames corresponding to a given RenderViewHost.
class ContentScriptLoader {
@@ -119,14 +123,10 @@ void UpdateChromeOSAccessibilityHistograms() {
IsHighContrastEnabled());
UMA_HISTOGRAM_BOOLEAN("Accessibility.CrosVirtualKeyboard",
IsVirtualKeyboardEnabled());
- if (MagnificationManager::Get()) {
- uint32 type = MagnificationManager::Get()->IsMagnifierEnabled() ?
- MagnificationManager::Get()->GetMagnifierType() : 0;
- // '0' means magnifier is disabled.
+ if (MagnificationManager::Get())
UMA_HISTOGRAM_ENUMERATION("Accessibility.CrosScreenMagnifier",
- type,
- ash::kMaxMagnifierType + 1);
- }
+ MagnificationManager::Get()->GetMagnifierType(),
+ 3);
}
void Initialize() {
@@ -290,6 +290,27 @@ bool IsVirtualKeyboardEnabled() {
return virtual_keyboard_enabled;
}
+ash::MagnifierType MagnifierTypeFromName(const char type_name[]) {
+ if (0 == strcmp(type_name, kScreenMagnifierFull))
+ return ash::MAGNIFIER_FULL;
+ else if (0 == strcmp(type_name, kScreenMagnifierPartial))
+ return ash::MAGNIFIER_PARTIAL;
+ else
+ return ash::MAGNIFIER_OFF;
+}
+
+const char* ScreenMagnifierNameFromType(ash::MagnifierType type) {
+ switch (type) {
+ case ash::MAGNIFIER_OFF:
+ return kScreenMagnifierOff;
+ case ash::MAGNIFIER_FULL:
+ return kScreenMagnifierFull;
+ case ash::MAGNIFIER_PARTIAL:
+ return kScreenMagnifierPartial;
+ }
+ return kScreenMagnifierOff;
+}
+
void MaybeSpeak(const std::string& utterance) {
if (IsSpokenFeedbackEnabled())
Speak(utterance);
diff --git a/chrome/browser/chromeos/accessibility/accessibility_util.h b/chrome/browser/chromeos/accessibility/accessibility_util.h
index e70d60d..e672b5d 100644
--- a/chrome/browser/chromeos/accessibility/accessibility_util.h
+++ b/chrome/browser/chromeos/accessibility/accessibility_util.h
@@ -24,19 +24,9 @@ struct AccessibilityStatusEventDetails {
AccessibilityStatusEventDetails(
bool enabled, ash::AccessibilityNotificationVisibility notify)
: enabled(enabled),
- magnifier_type(ash::kDefaultMagnifierType),
- notify(notify) {}
-
- AccessibilityStatusEventDetails(
- bool enabled,
- ash::MagnifierType magnifier_type,
- ash::AccessibilityNotificationVisibility notify)
- : enabled(enabled),
- magnifier_type(magnifier_type),
notify(notify) {}
bool enabled;
- ash::MagnifierType magnifier_type;
ash::AccessibilityNotificationVisibility notify;
};
@@ -74,6 +64,12 @@ bool IsHighContrastEnabled();
// Returns true if the Virtual Keyboard is enabled, or false if not.
bool IsVirtualKeyboardEnabled();
+// Translates from a string to MagnifierType.
+ash::MagnifierType MagnifierTypeFromName(const char type_name[]);
+
+// Translates from a MagnifierType to type string.
+const char* ScreenMagnifierNameFromType(ash::MagnifierType type);
+
// Speaks the given text if the accessibility pref is already set.
void MaybeSpeak(const std::string& utterance);
diff --git a/chrome/browser/chromeos/accessibility/magnification_manager.cc b/chrome/browser/chromeos/accessibility/magnification_manager.cc
index 38d4f9e..25d4879 100644
--- a/chrome/browser/chromeos/accessibility/magnification_manager.cc
+++ b/chrome/browser/chromeos/accessibility/magnification_manager.cc
@@ -34,8 +34,7 @@ class MagnificationManagerImpl : public MagnificationManager,
public:
MagnificationManagerImpl() : first_time_update_(true),
profile_(NULL),
- type_(ash::kDefaultMagnifierType),
- enabled_(false) {
+ type_(ash::MAGNIFIER_OFF) {
registrar_.Add(this,
chrome::NOTIFICATION_PROFILE_CREATED,
content::NotificationService::AllSources());
@@ -55,114 +54,64 @@ class MagnificationManagerImpl : public MagnificationManager,
}
// MagnificationManager implimentation:
- bool IsMagnifierEnabled() const OVERRIDE {
- return enabled_;
- }
-
- ash::MagnifierType GetMagnifierType() const OVERRIDE {
+ ash::MagnifierType GetMagnifierType() OVERRIDE {
return type_;
}
- void SetMagnifierEnabled(bool enabled) OVERRIDE {
- // This method may be invoked even when the other magnifier settings (e.g.
- // type or scale) are changed, so we need to call magnification controller
- // even if |enabled| is unchanged. Only if |enabled| is false and the
- // magnifier is already disabled, we are sure that we don't need to reflect
- // the new settings right now because the magnifier keeps disabled.
- if (!enabled && !enabled_)
- return;
-
- enabled_ = enabled;
-
- if (profile_) {
- PrefService* prefs = profile_->GetPrefs();
- DCHECK(prefs);
- if (enabled != prefs->GetBoolean(prefs::kScreenMagnifierEnabled)) {
- prefs->SetBoolean(prefs::kScreenMagnifierEnabled, enabled);
- prefs->CommitPendingWrite();
- }
- }
-
- NotifyMagnifierChanged();
-
- if (type_ == ash::MAGNIFIER_FULL) {
- ash::Shell::GetInstance()->magnification_controller()->SetEnabled(
- enabled_);
- } else {
- ash::Shell::GetInstance()->partial_magnification_controller()->SetEnabled(
- enabled_);
- }
- }
-
- void SetMagnifierType(ash::MagnifierType type) OVERRIDE {
- if (type_ == type)
+ void SetMagnifier(ash::MagnifierType type) OVERRIDE {
+ if (type == type_ && type == ash::MAGNIFIER_OFF)
return;
- DCHECK(type == ash::MAGNIFIER_FULL || type == ash::MAGNIFIER_PARTIAL);
type_ = type;
if (profile_) {
PrefService* prefs = profile_->GetPrefs();
- DCHECK(prefs);
- prefs->SetInteger(prefs::kScreenMagnifierType, type);
- prefs->CommitPendingWrite();
+ if (prefs) {
+ bool enabled = (type != ash::MAGNIFIER_OFF);
+ if (enabled != prefs->GetBoolean(prefs::kScreenMagnifierEnabled)) {
+ prefs->SetBoolean(prefs::kScreenMagnifierEnabled, enabled);
+ prefs->CommitPendingWrite();
+ }
+ }
}
- NotifyMagnifierChanged();
-
- if (enabled_) {
- ash::Shell::GetInstance()->magnification_controller()->SetEnabled(
- type_ == ash::MAGNIFIER_FULL);
- ash::Shell::GetInstance()->partial_magnification_controller()->SetEnabled(
- type_ == ash::MAGNIFIER_PARTIAL);
- }
+ accessibility::AccessibilityStatusEventDetails details(
+ type != ash::MAGNIFIER_OFF, ash::A11Y_NOTIFICATION_NONE);
+ content::NotificationService::current()->Notify(
+ chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFIER,
+ content::NotificationService::AllSources(),
+ content::Details<accessibility::AccessibilityStatusEventDetails>(
+ &details));
+
+ ash::Shell::GetInstance()->magnification_controller()->SetEnabled(
+ type == ash::MAGNIFIER_FULL);
+ ash::Shell::GetInstance()->partial_magnification_controller()->SetEnabled(
+ type == ash::MAGNIFIER_PARTIAL);
}
void SaveScreenMagnifierScale(double scale) OVERRIDE {
Profile* profile = ProfileManager::GetDefaultProfileOrOffTheRecord();
- DCHECK(profile->GetPrefs());
profile->GetPrefs()->SetDouble(prefs::kScreenMagnifierScale, scale);
}
- double GetSavedScreenMagnifierScale() const OVERRIDE {
+ double GetSavedScreenMagnifierScale() OVERRIDE {
Profile* profile = ProfileManager::GetDefaultProfileOrOffTheRecord();
- DCHECK(profile->GetPrefs());
if (profile->GetPrefs()->HasPrefPath(prefs::kScreenMagnifierScale))
return profile->GetPrefs()->GetDouble(prefs::kScreenMagnifierScale);
return std::numeric_limits<double>::min();
}
private:
- void NotifyMagnifierChanged() {
- accessibility::AccessibilityStatusEventDetails details(
- enabled_, type_, ash::A11Y_NOTIFICATION_NONE);
- content::NotificationService::current()->Notify(
- chrome::NOTIFICATION_CROS_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFIER,
- content::NotificationService::AllSources(),
- content::Details<accessibility::AccessibilityStatusEventDetails>(
- &details));
- }
-
- bool IsMagnifierEnabledFromPref() {
- if (!profile_)
- return false;
-
- DCHECK(profile_->GetPrefs());
- return profile_->GetPrefs()->GetBoolean(prefs::kScreenMagnifierEnabled);
- }
-
ash::MagnifierType GetMagnifierTypeFromPref() {
if (!profile_)
- return ash::kDefaultMagnifierType;
-
- DCHECK(profile_->GetPrefs());
- ash::MagnifierType type = static_cast<ash::MagnifierType>(
- profile_->GetPrefs()->GetInteger(prefs::kScreenMagnifierType));
+ return ash::MAGNIFIER_OFF;
- if (type == ash::MAGNIFIER_FULL || type == ash::MAGNIFIER_PARTIAL)
- return type;
+ PrefService* prefs = profile_->GetPrefs();
+ if (!prefs)
+ return ash::MAGNIFIER_OFF;
- return ash::kDefaultMagnifierType;
+ return prefs->GetBoolean(prefs::kScreenMagnifierEnabled) ?
+ ash::MAGNIFIER_FULL : ash::MAGNIFIER_OFF;
}
void SetProfile(Profile* profile) {
@@ -175,27 +124,17 @@ class MagnificationManagerImpl : public MagnificationManager,
pref_change_registrar_->Init(profile->GetPrefs());
pref_change_registrar_->Add(
prefs::kScreenMagnifierEnabled,
- base::Bind(&MagnificationManagerImpl::UpdateMagnifierStatusFromPref,
- base::Unretained(this)));
- pref_change_registrar_->Add(
- prefs::kScreenMagnifierType,
- base::Bind(&MagnificationManagerImpl::UpdateMagnifierStatusFromPref,
+ base::Bind(&MagnificationManagerImpl::UpdateMagnifierStatus,
base::Unretained(this)));
}
profile_ = profile;
- UpdateMagnifierStatusFromPref();
+ UpdateMagnifierStatus();
}
- void UpdateMagnifierStatusFromPref() {
- bool enabled = IsMagnifierEnabledFromPref();
- if (!enabled) {
- SetMagnifierEnabled(enabled);
- SetMagnifierType(GetMagnifierTypeFromPref());
- } else {
- SetMagnifierType(GetMagnifierTypeFromPref());
- SetMagnifierEnabled(enabled);
- }
+ void UpdateMagnifierStatus() {
+ ash::MagnifierType type = GetMagnifierTypeFromPref();
+ SetMagnifier(type);
}
// content::NotificationObserver implimentation:
@@ -229,7 +168,6 @@ class MagnificationManagerImpl : public MagnificationManager,
bool first_time_update_;
Profile* profile_;
ash::MagnifierType type_;
- bool enabled_;
content::NotificationRegistrar registrar_;
scoped_ptr<PrefChangeRegistrar> pref_change_registrar_;
diff --git a/chrome/browser/chromeos/accessibility/magnification_manager.h b/chrome/browser/chromeos/accessibility/magnification_manager.h
index f323e0a..680b7fc 100644
--- a/chrome/browser/chromeos/accessibility/magnification_manager.h
+++ b/chrome/browser/chromeos/accessibility/magnification_manager.h
@@ -24,30 +24,20 @@ class MagnificationManager {
// Returns the existing instance. If there is no instance, creates one.
// because only one instance should exist at the same time.
static void Initialize();
-
// Deletes the existing instance of MagnificationManager.
static void Shutdown();
-
// Returns the existing instance. If there is no instance, returns NULL.
static MagnificationManager* Get();
- // Returns if the screen magnifier is enabled.
- virtual bool IsMagnifierEnabled() const = 0;
-
// Returns the current type of the screen magnifier.
- virtual ash::MagnifierType GetMagnifierType() const = 0;
-
- // Enables the screen magnifier.
- virtual void SetMagnifierEnabled(bool enabled) = 0;
-
+ virtual ash::MagnifierType GetMagnifierType() = 0;
// Changes the type of the screen magnifier.
- virtual void SetMagnifierType(ash::MagnifierType type) = 0;
+ virtual void SetMagnifier(ash::MagnifierType type) = 0;
// Saves the magnifier scale to the pref.
virtual void SaveScreenMagnifierScale(double scale) = 0;
-
// Loads the magnifier scale from the pref.
- virtual double GetSavedScreenMagnifierScale() const = 0;
+ virtual double GetSavedScreenMagnifierScale() = 0;
protected:
virtual ~MagnificationManager() {}
diff --git a/chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc b/chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc
index c99202a..6a1a89a 100644
--- a/chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc
+++ b/chrome/browser/chromeos/accessibility/magnification_manager_browsertest.cc
@@ -24,67 +24,11 @@
namespace chromeos {
-namespace {
-
-void SetMagnifierEnabled(bool enabled) {
- MagnificationManager::Get()->SetMagnifierEnabled(enabled);
-}
-
-void SetMagnifierType(ash::MagnifierType type) {
- MagnificationManager::Get()->SetMagnifierType(type);
-}
-
-void SetFullScreenMagnifierScale(double scale) {
- ash::Shell::GetInstance()->
- magnification_controller()->SetScale(scale, false);
-}
-
-double GetFullScreenMagnifierScale() {
- return ash::Shell::GetInstance()->magnification_controller()->GetScale();
-}
-
-void SetSavedFullScreenMagnifierScale(double scale) {
- MagnificationManager::Get()->SaveScreenMagnifierScale(scale);
-}
-
-double GetSavedFullScreenMagnifierScale() {
- return MagnificationManager::Get()->GetSavedScreenMagnifierScale();
-}
-
-ash::MagnifierType GetMagnifierType() {
- return MagnificationManager::Get()->GetMagnifierType();
-}
-
-bool IsMagnifierEnabled() {
- return MagnificationManager::Get()->IsMagnifierEnabled();
-}
-
-Profile* profile() {
- Profile* profile = ProfileManager::GetDefaultProfileOrOffTheRecord();
- DCHECK(profile);
- return profile;
-}
-
-PrefServiceBase* prefs() {
- return PrefServiceBase::FromBrowserContext(profile());
-}
-
-void EnableScreenManagnifierToPref(bool enabled) {
- prefs()->SetBoolean(prefs::kScreenMagnifierEnabled, enabled);
-}
-
-void SetScreenManagnifierTypeToPref(ash::MagnifierType type) {
- prefs()->SetInteger(prefs::kScreenMagnifierType, type);
-}
-
-} // anonymouse namespace
-
class MagnificationManagerTest : public CrosInProcessBrowserTest,
public content::NotificationObserver {
protected:
MagnificationManagerTest() : observed_(false),
- observed_enabled_(false),
- observed_type_(ash::kDefaultMagnifierType) {}
+ observed_type_(ash::MAGNIFIER_OFF) {}
virtual ~MagnificationManagerTest() {}
virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
@@ -93,6 +37,16 @@ class MagnificationManagerTest : public CrosInProcessBrowserTest,
TestingProfile::kTestUserProfileDir);
}
+ Profile* profile() {
+ Profile* profile = ProfileManager::GetDefaultProfileOrOffTheRecord();
+ DCHECK(profile);
+ return profile;
+ }
+
+ PrefServiceBase* prefs() {
+ return PrefServiceBase::FromBrowserContext(profile());
+ }
+
virtual void SetUpOnMainThread() OVERRIDE {
registrar_.Add(
this,
@@ -100,6 +54,37 @@ class MagnificationManagerTest : public CrosInProcessBrowserTest,
content::NotificationService::AllSources());
}
+ void SetScreenManagnifierType(ash::MagnifierType type) {
+ MagnificationManager::Get()->SetMagnifier(type);
+ }
+
+ void SetScreenManagnifierTypeToPref(ash::MagnifierType type) {
+ prefs()->SetBoolean(prefs::kScreenMagnifierEnabled,
+ (type != ash::MAGNIFIER_OFF) ? true : false);
+ }
+
+ void SetFullScreenMagnifierScale(double scale) {
+ ash::Shell::GetInstance()->
+ magnification_controller()->SetScale(scale, false);
+ }
+
+ double GetFullScreenMagnifierScale() {
+ return ash::Shell::GetInstance()->magnification_controller()->GetScale();
+ }
+
+ void SetSavedFullScreenMagnifierScale(double scale) {
+ MagnificationManager::Get()->SaveScreenMagnifierScale(scale);
+ }
+
+ double GetSavedFullScreenMagnifierScale() {
+ return MagnificationManager::Get()->GetSavedScreenMagnifierScale();
+ }
+
+ void CheckCurrentMagnifierType(
+ ash::MagnifierType type) {
+ EXPECT_EQ(MagnificationManager::Get()->GetMagnifierType(), type);
+ }
+
// content::NotificationObserver implementation.
virtual void Observe(int type,
const content::NotificationSource& source,
@@ -111,15 +96,14 @@ class MagnificationManagerTest : public CrosInProcessBrowserTest,
details).ptr();
observed_ = true;
- observed_enabled_ = accessibility_status->enabled;
- observed_type_ = accessibility_status->magnifier_type;
+ observed_type_ = accessibility_status->enabled ? ash::MAGNIFIER_FULL :
+ ash::MAGNIFIER_OFF;
break;
}
}
}
bool observed_;
- bool observed_enabled_;
ash::MagnifierType observed_type_;
content::NotificationRegistrar registrar_;
DISALLOW_COPY_AND_ASSIGN(MagnificationManagerTest);
@@ -127,200 +111,121 @@ class MagnificationManagerTest : public CrosInProcessBrowserTest,
IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, LoginOffToOff) {
// Confirms that magnifier is disabled on the login screen.
- EXPECT_FALSE(IsMagnifierEnabled());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
// Logs in.
UserManager::Get()->UserLoggedIn("owner@invalid.domain", true);
// Confirms that magnifier is still disabled just after login.
- EXPECT_FALSE(IsMagnifierEnabled());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
UserManager::Get()->SessionStarted();
// Confirms that magnifier is still disabled just after login.
- EXPECT_FALSE(IsMagnifierEnabled());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
// Enables magnifier.
- SetMagnifierEnabled(true);
+ SetScreenManagnifierType(ash::MAGNIFIER_FULL);
// Confirms that magnifier is enabled.
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
}
IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, LoginFullToOff) {
// Confirms that magnifier is disabled on the login screen.
- EXPECT_FALSE(IsMagnifierEnabled());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
// Enables magnifier on login scren.
- SetMagnifierEnabled(true);
+ SetScreenManagnifierType(ash::MAGNIFIER_FULL);
// Logs in (but the session is not started yet).
UserManager::Get()->UserLoggedIn("owner@invalid.domain", true);
// Confirms that magnifier is keeping enabled.
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
UserManager::Get()->SessionStarted();
// Confirms that magnifier is disabled just after login.
- EXPECT_FALSE(IsMagnifierEnabled());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
}
IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, LoginOffToFull) {
// Changes to full screen magnifier again and confirms that.
- SetMagnifierEnabled(false);
- EXPECT_FALSE(IsMagnifierEnabled());
+ SetScreenManagnifierType(ash::MAGNIFIER_OFF);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
// Logs in (but the session is not started yet).
UserManager::Get()->UserLoggedIn("owner@invalid.domain", true);
// Confirms that magnifier is keeping disabled.
- EXPECT_FALSE(IsMagnifierEnabled());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
// Enable magnifier on the pref.
- EnableScreenManagnifierToPref(true);
SetScreenManagnifierTypeToPref(ash::MAGNIFIER_FULL);
SetSavedFullScreenMagnifierScale(2.5);
UserManager::Get()->SessionStarted();
// Confirms that the prefs are successfully loaded.
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
EXPECT_EQ(2.5, GetFullScreenMagnifierScale());
}
-IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, LoginOffToPartial) {
- // Changes to full screen magnifier again and confirms that.
- SetMagnifierEnabled(false);
- EXPECT_FALSE(IsMagnifierEnabled());
-
- // Logs in (but the session is not started yet).
- UserManager::Get()->UserLoggedIn("owner@invalid.domain", true);
-
- // Confirms that magnifier is keeping disabled.
- EXPECT_FALSE(IsMagnifierEnabled());
- // Enable magnifier on the pref.
- EnableScreenManagnifierToPref(true);
- SetScreenManagnifierTypeToPref(ash::MAGNIFIER_PARTIAL);
-
- UserManager::Get()->SessionStarted();
-
- // Confirms that the prefs are successfully loaded.
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_PARTIAL, GetMagnifierType());
-
- // Full screen magnifier scale is 1.0x since it's 'partial' magnifier.
- EXPECT_EQ(1.0, GetFullScreenMagnifierScale());
-}
-
IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, LoginFullToFull) {
// Changes to full screen magnifier again and confirms that.
- SetMagnifierType(ash::MAGNIFIER_FULL);
- SetMagnifierEnabled(true);
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
+ SetScreenManagnifierType(ash::MAGNIFIER_FULL);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
// Logs in (but the session is not started yet).
UserManager::Get()->UserLoggedIn("owner@invalid.domain", true);
// Confirms that magnifier is keeping enabled.
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
// Enable magnifier on the pref.
- EnableScreenManagnifierToPref(true);
SetScreenManagnifierTypeToPref(ash::MAGNIFIER_FULL);
SetSavedFullScreenMagnifierScale(2.5);
UserManager::Get()->SessionStarted();
// Confirms that the prefs are successfully loaded.
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
EXPECT_EQ(2.5, GetFullScreenMagnifierScale());
}
-IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, LoginFullToPartial) {
- // Changes to full screen magnifier again and confirms that.
- SetMagnifierType(ash::MAGNIFIER_FULL);
- SetMagnifierEnabled(true);
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
+IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, ChangeMagnifierType) {
+ // Changes to full screen magnifier and confirms that.
+ SetScreenManagnifierType(ash::MAGNIFIER_FULL);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
- // Logs in (but the session is not started yet).
- UserManager::Get()->UserLoggedIn("owner@invalid.domain", true);
+ // Changes to partial screen magnifier and confirms that.
+ SetScreenManagnifierType(ash::MAGNIFIER_PARTIAL);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_PARTIAL);
- // Confirms that magnifier is keeping enabled.
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
- // Enable magnifier on the pref.
- EnableScreenManagnifierToPref(true);
- SetScreenManagnifierTypeToPref(ash::MAGNIFIER_PARTIAL);
+ // Disable magnifier and confirms that.
+ SetScreenManagnifierType(ash::MAGNIFIER_OFF);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
+
+ // Changes to full screen magnifier again and confirms that.
+ SetScreenManagnifierType(ash::MAGNIFIER_FULL);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
+ // Logs in
+ UserManager::Get()->UserLoggedIn("owner@invalid.domain", true);
UserManager::Get()->SessionStarted();
- // Confirms that the prefs are successfully loaded.
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_PARTIAL, GetMagnifierType());
+ // Changes to full screen magnifier and confirms that.
+ SetScreenManagnifierType(ash::MAGNIFIER_FULL);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
- // Full screen magnifier scale is 1.0x since it's 'partial' magnifier.
- EXPECT_EQ(1.0, GetFullScreenMagnifierScale());
-}
+ // Changes to partial screen magnifier and confirms that.
+ SetScreenManagnifierType(ash::MAGNIFIER_PARTIAL);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_PARTIAL);
-IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, ChangeMagnifierType) {
- // Enables/disables full screen magnifier.
- SetMagnifierEnabled(false);
- SetMagnifierType(ash::MAGNIFIER_FULL);
- EXPECT_FALSE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
-
- SetMagnifierEnabled(true);
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
-
- SetMagnifierEnabled(false);
- EXPECT_FALSE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
-
- // Enables/disables partial screen magnifier.
- SetMagnifierType(ash::MAGNIFIER_PARTIAL);
- EXPECT_FALSE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_PARTIAL, GetMagnifierType());
-
- SetMagnifierEnabled(true);
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_PARTIAL, GetMagnifierType());
-
- SetMagnifierEnabled(false);
- EXPECT_FALSE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_PARTIAL, GetMagnifierType());
-
- // Changes the magnifier type when the magnifier is enabled.
- SetMagnifierType(ash::MAGNIFIER_FULL);
- SetMagnifierEnabled(true);
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
-
- SetMagnifierType(ash::MAGNIFIER_PARTIAL);
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_PARTIAL, GetMagnifierType());
-
- SetMagnifierType(ash::MAGNIFIER_FULL);
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
-
- // Changes the magnifier type when the magnifier is disabled.
- SetMagnifierEnabled(false);
- SetMagnifierType(ash::MAGNIFIER_FULL);
- EXPECT_FALSE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
-
- SetMagnifierType(ash::MAGNIFIER_PARTIAL);
- EXPECT_FALSE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_PARTIAL, GetMagnifierType());
-
- SetMagnifierType(ash::MAGNIFIER_FULL);
- EXPECT_FALSE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
+ // Disable magnifier and confirms that.
+ SetScreenManagnifierType(ash::MAGNIFIER_OFF);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
+
+ // Changes to full screen magnifier again and confirms that.
+ SetScreenManagnifierType(ash::MAGNIFIER_FULL);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
}
IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, TypePref) {
@@ -329,75 +234,48 @@ IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, TypePref) {
UserManager::Get()->SessionStarted();
// Confirms that magnifier is disabled just after login.
- EXPECT_FALSE(IsMagnifierEnabled());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
// Sets the pref as true to enable magnifier.
SetScreenManagnifierTypeToPref(ash::MAGNIFIER_FULL);
- EnableScreenManagnifierToPref(true);
// Confirms that magnifier is enabled.
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
-
- SetScreenManagnifierTypeToPref(ash::MAGNIFIER_PARTIAL);
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_PARTIAL, GetMagnifierType());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
// Sets the pref as false to disabled magnifier.
- EnableScreenManagnifierToPref(false);
+ SetScreenManagnifierTypeToPref(ash::MAGNIFIER_OFF);
// Confirms that magnifier is disabled.
- EXPECT_FALSE(IsMagnifierEnabled());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
// Sets the pref as true to enable magnifier again.
- EnableScreenManagnifierToPref(true);
+ SetScreenManagnifierTypeToPref(ash::MAGNIFIER_FULL);
// Confirms that magnifier is enabled.
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_PARTIAL, GetMagnifierType());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
}
-IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, ResumeSavedTypeFullPref) {
+IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, ResumeSavedTypePref) {
// Loads the profile of the user.
UserManager::Get()->UserLoggedIn("owner@invalid.domain", true);
// Sets the pref as true to enable magnifier before login.
- EnableScreenManagnifierToPref(true);
SetScreenManagnifierTypeToPref(ash::MAGNIFIER_FULL);
// Logs in.
UserManager::Get()->SessionStarted();
// Confirms that magnifier is enabled just after login.
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
-}
-
-IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, ResumeSavedTypePartialPref) {
- // Loads the profile of the user.
- UserManager::Get()->UserLoggedIn("owner@invalid.domain", true);
-
- // Sets the pref as true to enable magnifier before login.
- EnableScreenManagnifierToPref(true);
- SetScreenManagnifierTypeToPref(ash::MAGNIFIER_PARTIAL);
-
- // Logs in.
- UserManager::Get()->SessionStarted();
-
- // Confirms that magnifier is enabled just after login.
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_PARTIAL, GetMagnifierType());
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
}
IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, ScalePref) {
- SetMagnifierEnabled(false);
- EXPECT_FALSE(IsMagnifierEnabled());
+ SetScreenManagnifierType(ash::MAGNIFIER_OFF);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
// Sets 2.5x to the pref.
SetSavedFullScreenMagnifierScale(2.5);
// Enables full screen magnifier.
- SetMagnifierType(ash::MAGNIFIER_FULL);
- SetMagnifierEnabled(true);
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
+ SetScreenManagnifierType(ash::MAGNIFIER_FULL);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
// Confirms that 2.5x is restored.
EXPECT_EQ(2.5, GetFullScreenMagnifierScale());
@@ -408,33 +286,30 @@ IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, ScalePref) {
}
IN_PROC_BROWSER_TEST_F(MagnificationManagerTest, InvalidScalePref) {
- // TEST 1: Sets too small scale
- SetMagnifierEnabled(false);
- EXPECT_FALSE(IsMagnifierEnabled());
+ // TEST 1: too small scale
+ SetScreenManagnifierType(ash::MAGNIFIER_OFF);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
// Sets too small value to the pref.
SetSavedFullScreenMagnifierScale(0.5);
// Enables full screen magnifier.
- SetMagnifierType(ash::MAGNIFIER_FULL);
- SetMagnifierEnabled(true);
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
+ SetScreenManagnifierType(ash::MAGNIFIER_FULL);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
// Confirms that the actual scale is set to the minimum scale.
EXPECT_EQ(1.0, GetFullScreenMagnifierScale());
- // TEST 2: Sets too large scale
- SetMagnifierEnabled(false);
- EXPECT_FALSE(IsMagnifierEnabled());
+ // TEST 2: too large scale
+ SetScreenManagnifierType(ash::MAGNIFIER_OFF);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
// Sets too large value to the pref.
SetSavedFullScreenMagnifierScale(50.0);
// Enables full screen magnifier.
- SetMagnifierEnabled(true);
- EXPECT_TRUE(IsMagnifierEnabled());
- EXPECT_EQ(ash::MAGNIFIER_FULL, GetMagnifierType());
+ SetScreenManagnifierType(ash::MAGNIFIER_FULL);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
// Confirms that the actual scale is set to the maximum scale.
EXPECT_EQ(4.0, GetFullScreenMagnifierScale());
@@ -446,53 +321,30 @@ IN_PROC_BROWSER_TEST_F(MagnificationManagerTest,
UserManager::Get()->UserLoggedIn("owner@invalid.domain", true);
UserManager::Get()->SessionStarted();
- // Enable magnifier (without type)
- EnableScreenManagnifierToPref(true);
- EXPECT_TRUE(observed_);
+ // Before the test, sets to full magnifier.
+ SetScreenManagnifierTypeToPref(ash::MAGNIFIER_FULL);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
// Disables magnifier and confirms observer is invoked.
observed_ = false;
- SetMagnifierEnabled(false);
+ SetScreenManagnifierTypeToPref(ash::MAGNIFIER_OFF);
EXPECT_TRUE(observed_);
-
- // Disables magnifier again and confirms observer is not invoked.
- observed_ = false;
- SetMagnifierEnabled(false);
- EXPECT_FALSE(observed_);
+ EXPECT_EQ(observed_type_, ash::MAGNIFIER_OFF);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
// Enables full screen magnifier and confirms observer is invoked.
observed_ = false;
- SetMagnifierType(ash::MAGNIFIER_FULL);
- SetMagnifierEnabled(true);
- EXPECT_TRUE(observed_);
-
- // Enables full screen magnifier again and confirms observer is invoked.
- observed_ = false;
- SetMagnifierEnabled(true);
- EXPECT_TRUE(observed_);
- EXPECT_TRUE(observed_enabled_);
- EXPECT_EQ(ash::MAGNIFIER_FULL, observed_type_);
-
- // Switches to partial screen magnifier and confirms observer is invoked.
- observed_ = false;
- SetMagnifierType(ash::MAGNIFIER_PARTIAL);
- EXPECT_TRUE(observed_);
- EXPECT_TRUE(observed_enabled_);
- EXPECT_EQ(ash::MAGNIFIER_PARTIAL, observed_type_);
-
- // Switches to partial screen magnifier and confirms observer is invoked.
- observed_ = false;
- SetMagnifierType(ash::MAGNIFIER_FULL);
+ SetScreenManagnifierTypeToPref(ash::MAGNIFIER_FULL);
EXPECT_TRUE(observed_);
- EXPECT_TRUE(observed_enabled_);
- EXPECT_EQ(ash::MAGNIFIER_FULL, observed_type_);
+ EXPECT_EQ(observed_type_, ash::MAGNIFIER_FULL);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_FULL);
// Disables magnifier again and confirms observer is invoked.
observed_ = false;
- SetMagnifierEnabled(false);
+ SetScreenManagnifierTypeToPref(ash::MAGNIFIER_OFF);
EXPECT_TRUE(observed_);
- EXPECT_FALSE(observed_enabled_);
- EXPECT_FALSE(IsMagnifierEnabled());
+ EXPECT_EQ(observed_type_, ash::MAGNIFIER_OFF);
+ CheckCurrentMagnifierType(ash::MAGNIFIER_OFF);
}
} // namespace chromeos
diff --git a/chrome/browser/chromeos/preferences.cc b/chrome/browser/chromeos/preferences.cc
index 5aa9e7f..8ee9f98 100644
--- a/chrome/browser/chromeos/preferences.cc
+++ b/chrome/browser/chromeos/preferences.cc
@@ -4,7 +4,6 @@
#include "chrome/browser/chromeos/preferences.h"
-#include "ash/magnifier/magnifier_constants.h"
#include "base/chromeos/chromeos_version.h"
#include "base/command_line.h"
#include "base/i18n/time_formatting.h"
@@ -14,7 +13,6 @@
#include "base/string_util.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/accessibility/magnification_manager.h"
#include "chrome/browser/chromeos/drive/drive_file_system_util.h"
#include "chrome/browser/chromeos/input_method/input_method_configuration.h"
#include "chrome/browser/chromeos/input_method/input_method_manager.h"
@@ -116,9 +114,6 @@ void Preferences::RegisterUserPrefs(PrefServiceSyncable* prefs) {
prefs->RegisterBooleanPref(prefs::kScreenMagnifierEnabled,
false,
PrefServiceSyncable::SYNCABLE_PREF);
- prefs->RegisterIntegerPref(prefs::kScreenMagnifierType,
- ash::kDefaultMagnifierType,
- PrefServiceSyncable::SYNCABLE_PREF);
prefs->RegisterDoublePref(prefs::kScreenMagnifierScale,
std::numeric_limits<double>::min(),
PrefServiceSyncable::UNSYNCABLE_PREF);
@@ -309,14 +304,13 @@ void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) {
accessibility_enabled_.Init(prefs::kSpokenFeedbackEnabled, prefs, callback);
screen_magnifier_enabled_.Init(prefs::kScreenMagnifierEnabled,
prefs, callback);
- screen_magnifier_type_.Init(prefs::kScreenMagnifierType, prefs, callback);
screen_magnifier_scale_.Init(prefs::kScreenMagnifierScale, prefs, callback);
mouse_sensitivity_.Init(prefs::kMouseSensitivity, prefs, callback);
touchpad_sensitivity_.Init(prefs::kTouchpadSensitivity, prefs, callback);
use_24hour_clock_.Init(prefs::kUse24HourClock, prefs, callback);
disable_drive_.Init(prefs::kDisableDrive, prefs, callback);
disable_drive_over_cellular_.Init(prefs::kDisableDriveOverCellular,
- prefs, callback);
+ prefs, callback);
disable_drive_hosted_files_.Init(prefs::kDisableDriveHostedFiles,
prefs, callback);
download_default_directory_.Init(prefs::kDownloadDefaultDirectory,
diff --git a/chrome/browser/chromeos/preferences.h b/chrome/browser/chromeos/preferences.h
index cb18e44..d00b66e 100644
--- a/chrome/browser/chromeos/preferences.h
+++ b/chrome/browser/chromeos/preferences.h
@@ -111,7 +111,6 @@ class Preferences : public PrefServiceObserver {
BooleanPrefMember vert_edge_scroll_enabled_;
BooleanPrefMember accessibility_enabled_;
BooleanPrefMember screen_magnifier_enabled_;
- IntegerPrefMember screen_magnifier_type_;
DoublePrefMember screen_magnifier_scale_;
IntegerPrefMember speed_factor_;
IntegerPrefMember mouse_sensitivity_;
diff --git a/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc b/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc
index 23adfd6..220d928 100644
--- a/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc
+++ b/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc
@@ -30,8 +30,8 @@
namespace chromeos {
-void SetMagnifierEnabled(bool enabled) {
- MagnificationManager::Get()->SetMagnifierEnabled(enabled);
+namespace {
+ ui::MouseEvent& dummyEvent = *((ui::MouseEvent*)0);
}
class TrayAccessibilityTest : public CrosInProcessBrowserTest {
@@ -150,13 +150,13 @@ IN_PROC_BROWSER_TEST_F(TrayAccessibilityTest, ShowTrayIcon) {
EXPECT_FALSE(IsTrayIconVisible());
// Toggling magnifier the visibillity of the icon.
- SetMagnifierEnabled(true);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_FULL);
EXPECT_TRUE(IsTrayIconVisible());
- SetMagnifierEnabled(false);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_OFF);
EXPECT_FALSE(IsTrayIconVisible());
// Enabling all accessibility features.
- SetMagnifierEnabled(true);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_FULL);
EXPECT_TRUE(IsTrayIconVisible());
accessibility::EnableHighContrast(true);
EXPECT_TRUE(IsTrayIconVisible());
@@ -166,7 +166,7 @@ IN_PROC_BROWSER_TEST_F(TrayAccessibilityTest, ShowTrayIcon) {
EXPECT_TRUE(IsTrayIconVisible());
accessibility::EnableHighContrast(false);
EXPECT_TRUE(IsTrayIconVisible());
- SetMagnifierEnabled(false);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_OFF);
EXPECT_FALSE(IsTrayIconVisible());
// Confirms that prefs::kShouldAlwaysShowAccessibilityMenu doesn't affect
@@ -208,13 +208,13 @@ IN_PROC_BROWSER_TEST_F(TrayAccessibilityTest, ShowMenu) {
EXPECT_FALSE(CanCreateMenuItem());
// Toggling screen magnifier changes the visibillity of the menu.
- SetMagnifierEnabled(true);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_FULL);
EXPECT_TRUE(CanCreateMenuItem());
- SetMagnifierEnabled(false);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_OFF);
EXPECT_FALSE(CanCreateMenuItem());
// Enabling all accessibility features.
- SetMagnifierEnabled(true);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_FULL);
EXPECT_TRUE(CanCreateMenuItem());
accessibility::EnableHighContrast(true);
EXPECT_TRUE(CanCreateMenuItem());
@@ -224,7 +224,7 @@ IN_PROC_BROWSER_TEST_F(TrayAccessibilityTest, ShowMenu) {
EXPECT_TRUE(CanCreateMenuItem());
accessibility::EnableHighContrast(false);
EXPECT_TRUE(CanCreateMenuItem());
- SetMagnifierEnabled(false);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_OFF);
EXPECT_FALSE(CanCreateMenuItem());
}
@@ -255,13 +255,13 @@ IN_PROC_BROWSER_TEST_F(TrayAccessibilityTest, ShowMenuWithShowMenuOption) {
EXPECT_TRUE(CanCreateMenuItem());
// The menu is keeping visible regardless of toggling screen magnifier.
- SetMagnifierEnabled(true);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_FULL);
EXPECT_TRUE(CanCreateMenuItem());
- SetMagnifierEnabled(false);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_OFF);
EXPECT_TRUE(CanCreateMenuItem());
// Enabling all accessibility features.
- SetMagnifierEnabled(true);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_FULL);
EXPECT_TRUE(CanCreateMenuItem());
accessibility::EnableHighContrast(true);
EXPECT_TRUE(CanCreateMenuItem());
@@ -271,7 +271,7 @@ IN_PROC_BROWSER_TEST_F(TrayAccessibilityTest, ShowMenuWithShowMenuOption) {
EXPECT_TRUE(CanCreateMenuItem());
accessibility::EnableHighContrast(false);
EXPECT_TRUE(CanCreateMenuItem());
- SetMagnifierEnabled(false);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_OFF);
EXPECT_TRUE(CanCreateMenuItem());
// Sets prefs::kShouldAlwaysShowAccessibilityMenu = true.
@@ -300,13 +300,13 @@ IN_PROC_BROWSER_TEST_F(TrayAccessibilityTest, ShowMenuWithShowOnLoginScreen) {
EXPECT_TRUE(CanCreateMenuItem());
// The menu is keeping visible regardless of toggling screen magnifier.
- SetMagnifierEnabled(true);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_FULL);
EXPECT_TRUE(CanCreateMenuItem());
- SetMagnifierEnabled(false);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_OFF);
EXPECT_TRUE(CanCreateMenuItem());
// Enabling all accessibility features.
- SetMagnifierEnabled(true);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_FULL);
EXPECT_TRUE(CanCreateMenuItem());
accessibility::EnableHighContrast(true);
EXPECT_TRUE(CanCreateMenuItem());
@@ -316,7 +316,7 @@ IN_PROC_BROWSER_TEST_F(TrayAccessibilityTest, ShowMenuWithShowOnLoginScreen) {
EXPECT_TRUE(CanCreateMenuItem());
accessibility::EnableHighContrast(false);
EXPECT_TRUE(CanCreateMenuItem());
- SetMagnifierEnabled(false);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_OFF);
EXPECT_TRUE(CanCreateMenuItem());
// Sets prefs::kShouldAlwaysShowAccessibilityMenu = true.
@@ -362,14 +362,17 @@ IN_PROC_BROWSER_TEST_F(TrayAccessibilityTest, ClickDetailMenu) {
// Confirms that the check item toggles the magnifier.
EXPECT_FALSE(accessibility::IsHighContrastEnabled());
- EXPECT_FALSE(MagnificationManager::Get()->IsMagnifierEnabled());
+ EXPECT_EQ(ash::MAGNIFIER_OFF,
+ MagnificationManager::Get()->GetMagnifierType());
EXPECT_TRUE(CreateDetailedMenu());
ClickScreenMagnifierOnDetailMenu();
- EXPECT_TRUE(MagnificationManager::Get()->IsMagnifierEnabled());
+ EXPECT_EQ(ash::MAGNIFIER_FULL,
+ MagnificationManager::Get()->GetMagnifierType());
EXPECT_TRUE(CreateDetailedMenu());
ClickScreenMagnifierOnDetailMenu();
- EXPECT_FALSE(MagnificationManager::Get()->IsMagnifierEnabled());
+ EXPECT_EQ(ash::MAGNIFIER_OFF,
+ MagnificationManager::Get()->GetMagnifierType());
}
IN_PROC_BROWSER_TEST_F(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
@@ -413,7 +416,7 @@ IN_PROC_BROWSER_TEST_F(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
CloseDetailMenu();
// Enabling full screen magnifier.
- SetMagnifierEnabled(true);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_FULL);
EXPECT_TRUE(CreateDetailedMenu());
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
@@ -421,7 +424,7 @@ IN_PROC_BROWSER_TEST_F(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
CloseDetailMenu();
// Disabling screen magnifier.
- SetMagnifierEnabled(false);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_OFF);
EXPECT_TRUE(CreateDetailedMenu());
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
@@ -431,7 +434,7 @@ IN_PROC_BROWSER_TEST_F(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
// Enabling all of the a11y features.
accessibility::EnableSpokenFeedback(true, NULL, ash::A11Y_NOTIFICATION_NONE);
accessibility::EnableHighContrast(true);
- SetMagnifierEnabled(true);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_FULL);
EXPECT_TRUE(CreateDetailedMenu());
EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
@@ -441,7 +444,7 @@ IN_PROC_BROWSER_TEST_F(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
// Disabling all of the a11y features.
accessibility::EnableSpokenFeedback(false, NULL, ash::A11Y_NOTIFICATION_NONE);
accessibility::EnableHighContrast(false);
- SetMagnifierEnabled(false);
+ MagnificationManager::Get()->SetMagnifier(ash::MAGNIFIER_OFF);
EXPECT_TRUE(CreateDetailedMenu());
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
diff --git a/chrome/browser/resources/options/browser_options.html b/chrome/browser/resources/options/browser_options.html
index 7c26ef9..9a1bf83 100644
--- a/chrome/browser/resources/options/browser_options.html
+++ b/chrome/browser/resources/options/browser_options.html
@@ -637,10 +637,6 @@
pref="settings.a11y.screen_magnifier" type="checkbox">
<span i18n-content="accessibilityScreenMagnifier"></span>
</label>
- <select id="accessibility-screen-magnifier-type-select"
- class="control" i18n-options="magnifierList" data-type="number"
- pref="settings.a11y.screen_magnifier_type2">
- </select>
</div>
</div>
<div class="option-name" id="accessibility-tap-dragging">
diff --git a/chrome/browser/ui/ash/ash_init.cc b/chrome/browser/ui/ash/ash_init.cc
index ef9d18a..0f50c6b 100644
--- a/chrome/browser/ui/ash/ash_init.cc
+++ b/chrome/browser/ui/ash/ash_init.cc
@@ -96,14 +96,12 @@ void OpenAsh() {
chromeos::accessibility::IsHighContrastEnabled());
DCHECK(chromeos::MagnificationManager::Get());
- bool magnifier_enabled =
- chromeos::MagnificationManager::Get()->IsMagnifierEnabled();
ash::MagnifierType magnifier_type =
chromeos::MagnificationManager::Get()->GetMagnifierType();
- ash::Shell::GetInstance()->magnification_controller()->
- SetEnabled(magnifier_enabled && magnifier_type == ash::MAGNIFIER_FULL);
- ash::Shell::GetInstance()->partial_magnification_controller()->
- SetEnabled(magnifier_enabled && magnifier_type == ash::MAGNIFIER_PARTIAL);
+ ash::Shell::GetInstance()->magnification_controller()->SetEnabled(
+ magnifier_type == ash::MAGNIFIER_FULL);
+ ash::Shell::GetInstance()->partial_magnification_controller()->SetEnabled(
+ magnifier_type == ash::MAGNIFIER_PARTIAL);
if (!CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableZeroBrowsersOpenForTests)) {
diff --git a/chrome/browser/ui/ash/chrome_shell_delegate.cc b/chrome/browser/ui/ash/chrome_shell_delegate.cc
index b784036..5354516 100644
--- a/chrome/browser/ui/ash/chrome_shell_delegate.cc
+++ b/chrome/browser/ui/ash/chrome_shell_delegate.cc
@@ -355,35 +355,19 @@ void ChromeShellDelegate::ToggleHighContrast() {
#endif
}
-bool ChromeShellDelegate::IsMagnifierEnabled() const {
-#if defined(OS_CHROMEOS)
- DCHECK(chromeos::MagnificationManager::Get());
- return chromeos::MagnificationManager::Get()->IsMagnifierEnabled();
-#else
- return false;
-#endif
-}
-
ash::MagnifierType ChromeShellDelegate::GetMagnifierType() const {
#if defined(OS_CHROMEOS)
DCHECK(chromeos::MagnificationManager::Get());
return chromeos::MagnificationManager::Get()->GetMagnifierType();
#else
- return ash::kDefaultMagnifierType;
-#endif
-}
-
-void ChromeShellDelegate::SetMagnifierEnabled(bool enabled) {
-#if defined(OS_CHROMEOS)
- DCHECK(chromeos::MagnificationManager::Get());
- return chromeos::MagnificationManager::Get()->SetMagnifierEnabled(enabled);
+ return ash::MAGNIFIER_OFF;
#endif
}
-void ChromeShellDelegate::SetMagnifierType(ash::MagnifierType type) {
+void ChromeShellDelegate::SetMagnifier(ash::MagnifierType type) {
#if defined(OS_CHROMEOS)
DCHECK(chromeos::MagnificationManager::Get());
- return chromeos::MagnificationManager::Get()->SetMagnifierType(type);
+ return chromeos::MagnificationManager::Get()->SetMagnifier(type);
#endif
}
diff --git a/chrome/browser/ui/ash/chrome_shell_delegate.h b/chrome/browser/ui/ash/chrome_shell_delegate.h
index 7270a37..401bcb53 100644
--- a/chrome/browser/ui/ash/chrome_shell_delegate.h
+++ b/chrome/browser/ui/ash/chrome_shell_delegate.h
@@ -61,9 +61,7 @@ class ChromeShellDelegate : public ash::ShellDelegate,
virtual void ToggleSpokenFeedback(
ash::AccessibilityNotificationVisibility notify) OVERRIDE;
virtual bool IsHighContrastEnabled() const OVERRIDE;
- virtual void SetMagnifierEnabled(bool enabled) OVERRIDE;
- virtual void SetMagnifierType(ash::MagnifierType type) OVERRIDE;
- virtual bool IsMagnifierEnabled() const OVERRIDE;
+ virtual void SetMagnifier(ash::MagnifierType type) OVERRIDE;
virtual ash::MagnifierType GetMagnifierType() const OVERRIDE;
virtual bool ShouldAlwaysShowAccessibilityMenu() const OVERRIDE;
virtual app_list::AppListViewDelegate* CreateAppListViewDelegate() OVERRIDE;
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 34dc189..82784e49 100644
--- a/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc
@@ -149,8 +149,10 @@ void CoreOobeHandler::HandleEnableScreenMagnifier(const base::ListValue* args) {
return;
}
// TODO(nkostylev): Add support for partial screen magnifier.
+ ash::MagnifierType type = enabled ? ash::MAGNIFIER_FULL :
+ ash::MAGNIFIER_OFF;
DCHECK(MagnificationManager::Get());
- MagnificationManager::Get()->SetMagnifierEnabled(enabled);
+ MagnificationManager::Get()->SetMagnifier(type);
}
void CoreOobeHandler::HandleEnableSpokenFeedback(const base::ListValue* args) {
@@ -171,13 +173,15 @@ void CoreOobeHandler::ShowOobeUI(bool show) {
void CoreOobeHandler::UpdateA11yState() {
DCHECK(MagnificationManager::Get());
+ ash::MagnifierType type = MagnificationManager::Get()->GetMagnifierType();
+
base::DictionaryValue a11y_info;
a11y_info.SetBoolean("highContrastEnabled",
accessibility::IsHighContrastEnabled());
a11y_info.SetBoolean("spokenFeedbackEnabled",
accessibility::IsSpokenFeedbackEnabled());
a11y_info.SetBoolean("screenMagnifierEnabled",
- MagnificationManager::Get()->IsMagnifierEnabled());
+ type != ash::MAGNIFIER_OFF);
web_ui()->CallJavascriptFunction("cr.ui.Oobe.refreshA11yInfo", a11y_info);
}
diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc
index 7b00522..c4a25d7 100644
--- a/chrome/browser/ui/webui/options/browser_options_handler.cc
+++ b/chrome/browser/ui/webui/options/browser_options_handler.cc
@@ -85,7 +85,6 @@
#endif
#if defined(OS_CHROMEOS)
-#include "ash/magnifier/magnifier_constants.h"
#include "chrome/browser/chromeos/accessibility/accessibility_util.h"
#include "chrome/browser/chromeos/extensions/wallpaper_manager_util.h"
#include "chrome/browser/chromeos/login/user_manager.h"
@@ -424,22 +423,6 @@ void BrowserOptionsHandler::GetLocalizedValues(DictionaryValue* values) {
values->SetString("accessibilityLearnMoreURL",
chrome::kChromeAccessibilityHelpURL);
-
- // Creates magnifierList.
- base::ListValue* magnifierList = new base::ListValue();
- base::ListValue* option_full = new base::ListValue();
- option_full->Append(base::Value::CreateIntegerValue(ash::MAGNIFIER_FULL));
- option_full->Append(new base::StringValue(l10n_util::GetStringUTF16(
- IDS_OPTIONS_SETTINGS_ACCESSIBILITY_SCREEN_MAGNIFIER_FULL)));
- base::ListValue* option_partial = new base::ListValue();
- option_partial->Append(base::Value::CreateIntegerValue(
- ash::MAGNIFIER_PARTIAL));
- option_partial->Append(new base::StringValue(l10n_util::GetStringUTF16(
- IDS_OPTIONS_SETTINGS_ACCESSIBILITY_SCREEN_MAGNIFIER_PARTIAL)));
- magnifierList->Append(option_full);
- magnifierList->Append(option_partial);
- values->Set("magnifierList", magnifierList);
-
#endif
#if defined(OS_MACOSX)
values->SetString("macPasswordsWarning",
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
index eaa2156..174bb08 100644
--- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc
@@ -743,10 +743,6 @@ const char kSpokenFeedbackEnabled[] = "settings.accessibility";
const char kHighContrastEnabled[] = "settings.a11y.high_contrast_enabled";
// A boolean pref which determines whether screen magnifier is enabled.
const char kScreenMagnifierEnabled[] = "settings.a11y.screen_magnifier";
-// A integer pref which determines what type of screen magnifier is enabled.
-// Note that: 'screen_magnifier_type' had been used as string pref. Hence,
-// we are using another name pref here.
-const char kScreenMagnifierType[] = "settings.a11y.screen_magnifier_type2";
// A double pref which determines a zooming scale of the screen magnifier.
const char kScreenMagnifierScale[] = "settings.a11y.screen_magnifier_scale";
// A boolean pref which determines whether virtual keyboard is enabled.
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
index fb59a0d..77fab57 100644
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -271,7 +271,6 @@ extern const char kLanguageXkbAutoRepeatInterval[];
extern const char kSpokenFeedbackEnabled[];
extern const char kHighContrastEnabled[];
extern const char kScreenMagnifierEnabled[];
-extern const char kScreenMagnifierType[];
extern const char kScreenMagnifierScale[];
extern const char kVirtualKeyboardEnabled[];
extern const char kShouldAlwaysShowAccessibilityMenu[];