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

Unified Diff: chrome/browser/ui/webui/options/browser_options_handler.cc

Issue 10915140: Add the partial screen magnifier to Chrome OS. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Code review fixes Created 8 years, 2 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/ui/webui/options/browser_options_handler.cc
diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc
index 67e5116e5cfb18f98c713724c05984f29b331b8f..b889763c1b54afbe6177cfe0f80ec9d1ba9ad740 100644
--- a/chrome/browser/ui/webui/options/browser_options_handler.cc
+++ b/chrome/browser/ui/webui/options/browser_options_handler.cc
@@ -113,6 +113,12 @@ using content::UserMetricsAction;
namespace options {
+namespace {
+const char kScreenMagnifierOff[] = "off";
+const char kScreenMagnifierFull[] = "full";
+const char kScreenMagnifierPartial[] = "partial";
+}
+
BrowserOptionsHandler::BrowserOptionsHandler()
: template_url_service_(NULL),
ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_for_file_(this)),
@@ -283,6 +289,12 @@ void BrowserOptionsHandler::GetLocalizedValues(DictionaryValue* values) {
IDS_OPTIONS_SETTINGS_ACCESSIBILITY_HIGH_CONTRAST_DESCRIPTION },
{ "accessibilityScreenMagnifier",
IDS_OPTIONS_SETTINGS_ACCESSIBILITY_SCREEN_MAGNIFIER_DESCRIPTION },
+ { "accessibilityScreenMagnifierOff",
+ IDS_OPTIONS_SETTINGS_ACCESSIBILITY_SCREEN_MAGNIFIER_OFF },
+ { "accessibilityScreenMagnifierFull",
+ IDS_OPTIONS_SETTINGS_ACCESSIBILITY_SCREEN_MAGNIFIER_FULL },
+ { "accessibilityScreenMagnifierPartial",
+ IDS_OPTIONS_SETTINGS_ACCESSIBILITY_SCREEN_MAGNIFIER_PARTIAL },
{ "accessibilitySpokenFeedback",
IDS_OPTIONS_SETTINGS_ACCESSIBILITY_DESCRIPTION },
{ "accessibilityTitle",
@@ -1253,10 +1265,18 @@ void BrowserOptionsHandler::HighContrastChangeCallback(const ListValue* args) {
void BrowserOptionsHandler::ScreenMagnifierChangeCallback(
const ListValue* args) {
- bool enabled = false;
- args->GetBoolean(0, &enabled);
+ std::string type_name;
+ args->GetString(0, &type_name);
+
+ chromeos::accessibility::ScreenMagnifierType type =
+ chromeos::accessibility::MagnifierNone;
- chromeos::accessibility::EnableScreenMagnifier(enabled);
+ if (type_name == kScreenMagnifierFull)
+ type = chromeos::accessibility::MagnifierFull;
+ else if (type_name == kScreenMagnifierPartial)
+ type = chromeos::accessibility::MagnifierPartial;
+
+ chromeos::accessibility::SetScreenMagnifier(type);
}
void BrowserOptionsHandler::VirtualKeyboardChangeCallback(
@@ -1296,11 +1316,18 @@ void BrowserOptionsHandler::SetupAccessibilityFeatures() {
web_ui()->CallJavascriptFunction(
"BrowserOptions.setHighContrastCheckboxState",
high_contrast_enabled);
- base::FundamentalValue screen_magnifier_enabled(
- pref_service->GetBoolean(prefs::kScreenMagnifierEnabled));
+
+ std::string type(kScreenMagnifierOff);
+ if (pref_service->GetBoolean(prefs::kScreenMagnifierEnabled))
+ type = kScreenMagnifierFull;
+ else if (pref_service->GetBoolean(prefs::kPartialScreenMagnifierEnabled))
+ type = kScreenMagnifierPartial;
+
+ base::StringValue magnifier_type(type);
web_ui()->CallJavascriptFunction(
- "BrowserOptions.setScreenMagnifierCheckboxState",
- screen_magnifier_enabled);
+ "BrowserOptions.setScreenMagnifierTypeState",
+ magnifier_type);
+
base::FundamentalValue virtual_keyboard_enabled(
pref_service->GetBoolean(prefs::kVirtualKeyboardEnabled));
web_ui()->CallJavascriptFunction(

Powered by Google App Engine
This is Rietveld 408576698