Chromium Code Reviews| 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 68f27d704ae8545678a4228ed05cbfc31ad00c12..36521b50d4ef72363cdb2deaefae7c2d6b1d184b 100644 |
| --- a/chrome/browser/ui/webui/options/browser_options_handler.cc |
| +++ b/chrome/browser/ui/webui/options/browser_options_handler.cc |
| @@ -71,6 +71,7 @@ |
| #include "chrome/common/pref_names.h" |
| #include "chrome/common/url_constants.h" |
| #include "chromeos/chromeos_switches.h" |
| +#include "chromeos/chromeos_utils.h" |
| #include "content/public/browser/browser_thread.h" |
| #include "content/public/browser/download_manager.h" |
| #include "content/public/browser/navigation_controller.h" |
| @@ -231,6 +232,12 @@ void BrowserOptionsHandler::GetLocalizedValues(base::DictionaryValue* values) { |
| IDS_OPTIONS_DOWNLOADLOCATION_CHANGE_BUTTON }, |
| { "downloadLocationGroupName", IDS_OPTIONS_DOWNLOADLOCATION_GROUP_NAME }, |
| { "enableLogging", IDS_OPTIONS_ENABLE_LOGGING }, |
| +#if !defined(OS_CHROMEOS) |
| + { "easyUnlockCheckboxLabel", IDS_OPTIONS_EASY_UNLOCK_CHECKBOX_LABEL }, |
| +#endif |
| + { "easyUnlockSectionTitle", IDS_OPTIONS_EASY_UNLOCK_SECTION_TITLE }, |
| + { "easyUnlockSetupButton", IDS_OPTIONS_EASY_UNLOCK_SETUP_BUTTON }, |
| + { "easyUnlockManagement", IDS_OPTIONS_EASY_UNLOCK_MANAGEMENT }, |
| { "fontSettingsCustomizeFontsButton", |
| IDS_OPTIONS_FONTSETTINGS_CUSTOMIZE_FONTS_BUTTON }, |
| { "fontSizeLabelCustom", IDS_OPTIONS_FONT_SIZE_LABEL_CUSTOM }, |
| @@ -565,6 +572,19 @@ void BrowserOptionsHandler::GetLocalizedValues(base::DictionaryValue* values) { |
| values->SetString("languagesLearnMoreURL", |
| chrome::kLanguageSettingsLearnMoreUrl); |
| + |
| + values->SetBoolean( |
| + "easyUnlockEnabled", |
| + CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableEasyUnlock)); |
| + values->SetString("easyUnlockLearnMoreURL", chrome::kEasyUnlockLearnMoreUrl); |
| + values->SetString("easyUnlockManagementURL", |
| + chrome::kEasyUnlockManagementUrl); |
| +#if defined(OS_CHROMEOS) |
| + values->SetString("easyUnlockCheckboxLabel", |
|
xiyuan
2014/03/15 00:54:56
nit: wrong indent
Tim Song
2014/03/17 19:12:07
Done.
|
| + l10n_util::GetStringFUTF16( |
| + IDS_OPTIONS_EASY_UNLOCK_CHECKBOX_LABEL_CHROMEOS, |
| + base::UTF8ToUTF16(chromeos::GetChromeDeviceType()))); |
| +#endif |
| } |
| #if defined(ENABLE_FULL_PRINTING) |
| @@ -702,6 +722,11 @@ void BrowserOptionsHandler::RegisterMessages() { |
| "requestHotwordAvailable", |
| base::Bind(&BrowserOptionsHandler::HandleRequestHotwordAvailable, |
| base::Unretained(this))); |
| + |
| + web_ui()->RegisterMessageCallback( |
| + "setupEasyUnlock", |
| + base::Bind(&BrowserOptionsHandler::HandleLaunchEasyUnlockSetup, |
| + base::Unretained(this))); |
| } |
| void BrowserOptionsHandler::Uninitialize() { |
| @@ -796,6 +821,10 @@ void BrowserOptionsHandler::InitializeHandler() { |
| prefs::kSigninAllowed, |
| base::Bind(&BrowserOptionsHandler::OnSigninAllowedPrefChange, |
| base::Unretained(this))); |
| + profile_pref_registrar_.Add( |
| + prefs::kEasyUnlockPairing, |
| + base::Bind(&BrowserOptionsHandler::SetupEasyUnlock, |
| + base::Unretained(this))); |
| #if defined(OS_CHROMEOS) |
| if (!policy_registrar_) { |
| @@ -832,6 +861,7 @@ void BrowserOptionsHandler::InitializePage() { |
| SetupProxySettingsSection(); |
| SetupManageCertificatesSection(); |
| SetupManagingSupervisedUsers(); |
| + SetupEasyUnlock(); |
| #if defined(ENABLE_FULL_PRINTING) && !defined(OS_CHROMEOS) |
| if (!cloud_print_mdns_ui_enabled_) { |
| @@ -1544,6 +1574,11 @@ void BrowserOptionsHandler::HandleRequestHotwordAvailable( |
| } |
| } |
| +void BrowserOptionsHandler::HandleLaunchEasyUnlockSetup( |
| + const base::ListValue* args) { |
| + // TODO(tengs): launch Easy Unlock setup flow. |
| +} |
| + |
| #if defined(OS_CHROMEOS) |
| void BrowserOptionsHandler::HandleOpenWallpaperManager( |
| const base::ListValue* args) { |
| @@ -1722,4 +1757,13 @@ void BrowserOptionsHandler::SetupManagingSupervisedUsers() { |
| has_users_value); |
| } |
| +void BrowserOptionsHandler::SetupEasyUnlock() { |
| + bool has_pairing = !Profile::FromWebUI(web_ui())->GetPrefs() |
| + ->GetDictionary(prefs::kEasyUnlockPairing)->empty(); |
| + base::FundamentalValue has_pairing_value(has_pairing); |
| + web_ui()->CallJavascriptFunction( |
| + "BrowserOptions.updateEasyUnlock", |
| + has_pairing_value); |
| +} |
| + |
| } // namespace options |