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

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

Issue 197313007: Add Easy Unlock options to chrome://settings behind a flag. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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 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

Powered by Google App Engine
This is Rietveld 408576698