| 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 058d3441eb7a60457c5bb7624c075187fe73f837..a9314bd8f3de0ccf91f529b49e549a993f70418f 100644
|
| --- a/chrome/browser/ui/webui/options/browser_options_handler.cc
|
| +++ b/chrome/browser/ui/webui/options/browser_options_handler.cc
|
| @@ -430,6 +430,8 @@ void BrowserOptionsHandler::GetLocalizedValues(base::DictionaryValue* values) {
|
| IDS_OPTIONS_SETTINGS_ACCESSIBILITY_STICKY_KEYS_DESCRIPTION },
|
| { "accessibilitySwitchAccess",
|
| IDS_OPTIONS_SETTINGS_ACCESSIBILITY_SWITCH_ACCESS_DESCRIPTION },
|
| + { "accessibilityTalkBackSettings",
|
| + IDS_OPTIONS_SETTINGS_ACCESSIBILITY_TALKBACK_SETTINGS },
|
| { "accessibilityTapDragging",
|
| IDS_OPTIONS_SETTINGS_ACCESSIBILITY_TOUCHPAD_TAP_DRAGGING_DESCRIPTION },
|
| { "accessibilityVirtualKeyboard",
|
| @@ -800,6 +802,10 @@ void BrowserOptionsHandler::RegisterMessages() {
|
| "showAndroidAppsSettings",
|
| base::Bind(&BrowserOptionsHandler::ShowAndroidAppsSettings,
|
| base::Unretained(this)));
|
| + web_ui()->RegisterMessageCallback(
|
| + "showAccessibilityTalkBackSettings",
|
| + base::Bind(&BrowserOptionsHandler::ShowAccessibilityTalkBackSettings,
|
| + base::Unretained(this)));
|
| #else
|
| web_ui()->RegisterMessageCallback(
|
| "becomeDefaultBrowser",
|
| @@ -1934,6 +1940,18 @@ void BrowserOptionsHandler::ShowAndroidAppsSettings(
|
| arc::LaunchAndroidSettingsApp(profile);
|
| }
|
|
|
| +void BrowserOptionsHandler::ShowAccessibilityTalkBackSettings(
|
| + const base::ListValue *args) {
|
| + Profile* profile = Profile::FromWebUI(web_ui());
|
| + // Settings in secondary profile cannot access ARC.
|
| + if (!arc::ArcAuthService::IsAllowedForProfile(profile)) {
|
| + LOG(WARNING) << "Settings can't be invoked for non-primary profile";
|
| + return;
|
| + }
|
| +
|
| + arc::ShowTalkBackSettings();
|
| +}
|
| +
|
| void BrowserOptionsHandler::SetupAccessibilityFeatures() {
|
| PrefService* pref_service = g_browser_process->local_state();
|
| base::FundamentalValue virtual_keyboard_enabled(
|
|
|