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

Unified Diff: chrome/browser/ui/webui/options2/advanced_options_handler2.cc

Issue 9232010: [uber page] Migrate all elements in the 'System' (cros) page to new locations. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 8 years, 11 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/options2/advanced_options_handler2.cc
===================================================================
--- chrome/browser/ui/webui/options2/advanced_options_handler2.cc (revision 117867)
+++ chrome/browser/ui/webui/options2/advanced_options_handler2.cc (working copy)
@@ -47,6 +47,12 @@
#include "chrome/browser/ui/webui/options2/advanced_options_utils2.h"
#endif
+#if defined(OS_CHROMEOS)
+#include "chrome/browser/chromeos/accessibility/accessibility_util.h"
+#include "chrome/browser/chromeos/cros_settings.h"
+#include "chrome/browser/ui/webui/options2/chromeos/system_settings_provider2.h"
+#endif
+
using content::DownloadManager;
using content::OpenURLParams;
using content::Referrer;
@@ -192,6 +198,24 @@
IDS_OPTIONS_AUTOFILL_ENABLE },
{ "manageAutofillSettings",
IDS_OPTIONS_MANAGE_AUTOFILL_SETTINGS_LINK },
+#if defined(OS_CHROMEOS)
+ { "datetimeTitle",
+ IDS_OPTIONS_SETTINGS_SECTION_TITLE_DATETIME },
+ { "timezone",
+ IDS_OPTIONS_SETTINGS_TIMEZONE_DESCRIPTION },
+ { "use24HourClock",
+ IDS_OPTIONS_SETTINGS_USE_24HOUR_CLOCK_DESCRIPTION },
+ { "accessibilityTitle",
+ IDS_OPTIONS_SETTINGS_SECTION_TITLE_ACCESSIBILITY },
+ { "accessibilitySpokenFeedback",
+ IDS_OPTIONS_SETTINGS_ACCESSIBILITY_DESCRIPTION },
+ { "accessibilityHighContrast",
+ IDS_OPTIONS_SETTINGS_ACCESSIBILITY_HIGH_CONTRAST_DESCRIPTION },
+ { "accessibilityScreenMagnifier",
+ IDS_OPTIONS_SETTINGS_ACCESSIBILITY_SCREEN_MAGNIFIER_DESCRIPTION },
+ { "accessibilityVirtualKeyboard",
+ IDS_OPTIONS_SETTINGS_ACCESSIBILITY_VIRTUAL_KEYBOARD_DESCRIPTION },
+#endif
};
RegisterStrings(localized_strings, resources, arraysize(resources));
@@ -213,6 +237,13 @@
localized_strings->SetString("cloudPrintLearnMoreURL",
google_util::AppendGoogleLocaleParam(
GURL(chrome::kCloudPrintLearnMoreURL)).spec());
+
+ // TODO(pastarmovj): replace this with a call to the CrosSettings list
+ // handling functionality to come.
+ localized_strings->Set("timezoneList",
+ static_cast<chromeos::options2::SystemSettingsProvider*>(
+ chromeos::CrosSettings::Get()->GetProvider(
+ chromeos::kSystemTimezone))->GetTimezoneList());
#endif
#if defined(OS_MACOSX)
ProfileManager* profile_manager = g_browser_process->profile_manager();
@@ -267,6 +298,9 @@
RemoveCloudPrintConnectorSection();
}
#endif
+#if defined(OS_CHROMEOS)
+ SetupAccessibilityFeatures();
+#endif
#if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
SetupBackgroundModeSettings();
#endif
@@ -304,52 +338,82 @@
#endif // !defined(OS_CHROMEOS)
// Setup handlers specific to this panel.
- web_ui()->RegisterMessageCallback("selectDownloadLocation",
+ web_ui()->RegisterMessageCallback(
+ "selectDownloadLocation",
base::Bind(&AdvancedOptionsHandler::HandleSelectDownloadLocation,
base::Unretained(this)));
- web_ui()->RegisterMessageCallback("autoOpenFileTypesAction",
+ web_ui()->RegisterMessageCallback(
+ "autoOpenFileTypesAction",
base::Bind(&AdvancedOptionsHandler::HandleAutoOpenButton,
base::Unretained(this)));
- web_ui()->RegisterMessageCallback("defaultFontSizeAction",
+ web_ui()->RegisterMessageCallback(
+ "defaultFontSizeAction",
base::Bind(&AdvancedOptionsHandler::HandleDefaultFontSize,
base::Unretained(this)));
- web_ui()->RegisterMessageCallback("defaultZoomFactorAction",
+ web_ui()->RegisterMessageCallback(
+ "defaultZoomFactorAction",
base::Bind(&AdvancedOptionsHandler::HandleDefaultZoomFactor,
base::Unretained(this)));
#if !defined(OS_CHROMEOS)
- web_ui()->RegisterMessageCallback("metricsReportingCheckboxAction",
+ web_ui()->RegisterMessageCallback(
+ "metricsReportingCheckboxAction",
base::Bind(&AdvancedOptionsHandler::HandleMetricsReportingCheckbox,
base::Unretained(this)));
#endif
#if !defined(USE_NSS) && !defined(USE_OPENSSL)
- web_ui()->RegisterMessageCallback("showManageSSLCertificates",
+ web_ui()->RegisterMessageCallback(
+ "showManageSSLCertificates",
base::Bind(&AdvancedOptionsHandler::ShowManageSSLCertificates,
base::Unretained(this)));
#endif
- web_ui()->RegisterMessageCallback("showCloudPrintManagePage",
+ web_ui()->RegisterMessageCallback(
+ "showCloudPrintManagePage",
base::Bind(&AdvancedOptionsHandler::ShowCloudPrintManagePage,
base::Unretained(this)));
#if !defined(OS_CHROMEOS)
if (cloud_print_connector_ui_enabled_) {
- web_ui()->RegisterMessageCallback("showCloudPrintSetupDialog",
+ web_ui()->RegisterMessageCallback(
+ "showCloudPrintSetupDialog",
base::Bind(&AdvancedOptionsHandler::ShowCloudPrintSetupDialog,
base::Unretained(this)));
- web_ui()->RegisterMessageCallback("disableCloudPrintConnector",
+ web_ui()->RegisterMessageCallback(
+ "disableCloudPrintConnector",
base::Bind(&AdvancedOptionsHandler::HandleDisableCloudPrintConnector,
base::Unretained(this)));
}
- web_ui()->RegisterMessageCallback("showNetworkProxySettings",
+ web_ui()->RegisterMessageCallback(
+ "showNetworkProxySettings",
base::Bind(&AdvancedOptionsHandler::ShowNetworkProxySettings,
base::Unretained(this)));
#endif
- web_ui()->RegisterMessageCallback("checkRevocationCheckboxAction",
+ web_ui()->RegisterMessageCallback(
+ "checkRevocationCheckboxAction",
base::Bind(&AdvancedOptionsHandler::HandleCheckRevocationCheckbox,
base::Unretained(this)));
#if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
- web_ui()->RegisterMessageCallback("backgroundModeAction",
+ web_ui()->RegisterMessageCallback(
+ "backgroundModeAction",
base::Bind(&AdvancedOptionsHandler::HandleBackgroundModeCheckbox,
base::Unretained(this)));
#endif
+#if defined(OS_CHROMEOS)
+ web_ui()->RegisterMessageCallback(
+ "spokenFeedbackChange",
+ base::Bind(&AdvancedOptionsHandler::SpokenFeedbackChangeCallback,
+ base::Unretained(this)));
+ web_ui()->RegisterMessageCallback(
+ "highContrastChange",
+ base::Bind(&AdvancedOptionsHandler::HighContrastChangeCallback,
+ base::Unretained(this)));
+ web_ui()->RegisterMessageCallback(
+ "screenMagnifierChange",
+ base::Bind(&AdvancedOptionsHandler::ScreenMagnifierChangeCallback,
+ base::Unretained(this)));
+ web_ui()->RegisterMessageCallback(
+ "virtualKeyboardChange",
+ base::Bind(&AdvancedOptionsHandler::VirtualKeyboardChangeCallback,
+ base::Unretained(this)));
+#endif
}
void AdvancedOptionsHandler::Observe(
@@ -474,7 +538,7 @@
void AdvancedOptionsHandler::SetupBackgroundModeSettings() {
base::FundamentalValue checked(background_mode_enabled_.GetValue());
web_ui()->CallJavascriptFunction(
- "options.AdvancedOptions.SetBackgroundModeCheckboxState", checked);
+ "AdvancedOptions.SetBackgroundModeCheckboxState", checked);
}
#endif
@@ -562,15 +626,71 @@
StringValue label(label_str);
web_ui()->CallJavascriptFunction(
- "options.AdvancedOptions.SetupCloudPrintConnectorSection",
- disabled, label, allowed);
+ "AdvancedOptions.SetupCloudPrintConnectorSection", disabled, label,
+ allowed);
}
void AdvancedOptionsHandler::RemoveCloudPrintConnectorSection() {
web_ui()->CallJavascriptFunction(
- "options.AdvancedOptions.RemoveCloudPrintConnectorSection");
+ "AdvancedOptions.RemoveCloudPrintConnectorSection");
}
+#endif
+#if defined(OS_CHROMEOS)
+void AdvancedOptionsHandler::SpokenFeedbackChangeCallback(
+ const ListValue* args) {
+ bool enabled = false;
+ args->GetBoolean(0, &enabled);
+
+ chromeos::accessibility::EnableAccessibility(enabled, NULL);
+}
+
+void AdvancedOptionsHandler::HighContrastChangeCallback(const ListValue* args) {
+ bool enabled = false;
+ args->GetBoolean(0, &enabled);
+
+ chromeos::accessibility::EnableHighContrast(enabled);
+}
+
+void AdvancedOptionsHandler::ScreenMagnifierChangeCallback(
+ const ListValue* args) {
+ bool enabled = false;
+ args->GetBoolean(0, &enabled);
+
+ chromeos::accessibility::EnableScreenMagnifier(enabled);
+}
+
+void AdvancedOptionsHandler::VirtualKeyboardChangeCallback(
+ const ListValue* args) {
+ bool enabled = false;
+ args->GetBoolean(0, &enabled);
+
+ chromeos::accessibility::EnableVirtualKeyboard(enabled);
+}
+
+void AdvancedOptionsHandler::SetupAccessibilityFeatures() {
+ PrefService* pref_service = g_browser_process->local_state();
+ base::FundamentalValue spoken_feedback_enabled(
+ pref_service->GetBoolean(prefs::kSpokenFeedbackEnabled));
+ web_ui()->CallJavascriptFunction(
+ "AdvancedOptions.setSpokenFeedbackCheckboxState",
+ spoken_feedback_enabled);
+ base::FundamentalValue high_contrast_enabled(
+ pref_service->GetBoolean(prefs::kHighContrastEnabled));
+ web_ui()->CallJavascriptFunction(
+ "AdvancedOptions.setHighContrastCheckboxState",
+ high_contrast_enabled);
+ base::FundamentalValue screen_magnifier_enabled(
+ pref_service->GetBoolean(prefs::kScreenMagnifierEnabled));
+ web_ui()->CallJavascriptFunction(
+ "AdvancedOptions.setScreenMagnifierCheckboxState",
+ screen_magnifier_enabled);
+ base::FundamentalValue virtual_keyboard_enabled(
+ pref_service->GetBoolean(prefs::kVirtualKeyboardEnabled));
+ web_ui()->CallJavascriptFunction(
+ "AdvancedOptions.setVirtualKeyboardCheckboxState",
+ virtual_keyboard_enabled);
+}
#endif
void AdvancedOptionsHandler::SetupMetricsReportingCheckbox() {
@@ -578,8 +698,7 @@
base::FundamentalValue checked(enable_metrics_recording_.GetValue());
base::FundamentalValue disabled(enable_metrics_recording_.IsManaged());
web_ui()->CallJavascriptFunction(
- "options.AdvancedOptions.SetMetricsReportingCheckboxState", checked,
- disabled);
+ "AdvancedOptions.SetMetricsReportingCheckboxState", checked, disabled);
#endif
}
@@ -589,8 +708,7 @@
if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kGuestSession)) {
base::FundamentalValue visible(false);
web_ui()->CallJavascriptFunction(
- "options.AdvancedOptions.SetMetricsReportingSettingVisibility",
- visible);
+ "AdvancedOptions.SetMetricsReportingSettingVisibility", visible);
}
#endif
}
@@ -598,8 +716,7 @@
void AdvancedOptionsHandler::SetupFontSizeSelector() {
// We're only interested in integer values, so convert to int.
base::FundamentalValue font_size(default_font_size_.GetValue());
- web_ui()->CallJavascriptFunction(
- "options.AdvancedOptions.SetFontSize", font_size);
+ web_ui()->CallJavascriptFunction("AdvancedOptions.SetFontSize", font_size);
}
void AdvancedOptionsHandler::SetupPageZoomSelector() {
@@ -634,7 +751,7 @@
}
web_ui()->CallJavascriptFunction(
- "options.AdvancedOptions.SetupPageZoomSelector", zoom_factors_value);
+ "AdvancedOptions.SetupPageZoomSelector", zoom_factors_value);
}
void AdvancedOptionsHandler::SetupAutoOpenFileTypesDisabledAttribute() {
@@ -646,7 +763,7 @@
DownloadPrefs::FromDownloadManager(manager)->IsAutoOpenUsed());
base::FundamentalValue value(disabled);
web_ui()->CallJavascriptFunction(
- "options.AdvancedOptions.SetAutoOpenFileTypesDisabledAttribute", value);
+ "AdvancedOptions.SetAutoOpenFileTypesDisabledAttribute", value);
}
void AdvancedOptionsHandler::SetupProxySettingsSection() {
@@ -673,7 +790,7 @@
StringValue label(label_str);
web_ui()->CallJavascriptFunction(
- "options.AdvancedOptions.SetupProxySettingsSection", disabled, label);
+ "AdvancedOptions.SetupProxySettingsSection", disabled, label);
#endif // !defined(OS_CHROMEOS)
}
@@ -682,8 +799,7 @@
base::FundamentalValue checked(rev_checking_enabled_.GetValue());
base::FundamentalValue disabled(rev_checking_enabled_.IsManaged());
web_ui()->CallJavascriptFunction(
- "options.AdvancedOptions.SetCheckRevocationCheckboxState", checked,
- disabled);
+ "AdvancedOptions.SetCheckRevocationCheckboxState", checked, disabled);
}
}

Powered by Google App Engine
This is Rietveld 408576698