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 |