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

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: rebase 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
« no previous file with comments | « chrome/browser/ui/webui/options/browser_options_handler.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 ee4aec58289f52dfc94cca6c51bf2795ea082d52..fa8429b51f7938ec4a7e1e3d2d5ed950ee2c9720 100644
--- a/chrome/browser/ui/webui/options/browser_options_handler.cc
+++ b/chrome/browser/ui/webui/options/browser_options_handler.cc
@@ -101,6 +101,7 @@
#include "ash/ash_switches.h"
#include "ash/magnifier/magnifier_constants.h"
#include "chrome/browser/chromeos/accessibility/accessibility_util.h"
+#include "chrome/browser/chromeos/chromeos_utils.h"
#include "chrome/browser/chromeos/extensions/wallpaper_manager_util.h"
#include "chrome/browser/chromeos/login/user.h"
#include "chrome/browser/chromeos/login/user_manager.h"
@@ -232,6 +233,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 },
@@ -567,6 +574,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",
+ l10n_util::GetStringFUTF16(
+ IDS_OPTIONS_EASY_UNLOCK_CHECKBOX_LABEL_CHROMEOS,
+ chromeos::GetChromeDeviceType()));
+#endif
}
#if defined(ENABLE_FULL_PRINTING)
@@ -709,6 +729,11 @@ void BrowserOptionsHandler::RegisterMessages() {
"requestHotwordSetupRetry",
base::Bind(&BrowserOptionsHandler::HandleRequestHotwordSetupRetry,
base::Unretained(this)));
+
+ web_ui()->RegisterMessageCallback(
+ "launchEasyUnlockSetup",
+ base::Bind(&BrowserOptionsHandler::HandleLaunchEasyUnlockSetup,
+ base::Unretained(this)));
}
void BrowserOptionsHandler::Uninitialize() {
@@ -803,6 +828,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_) {
@@ -843,6 +872,7 @@ void BrowserOptionsHandler::InitializePage() {
SetupProxySettingsSection();
SetupManageCertificatesSection();
SetupManagingSupervisedUsers();
+ SetupEasyUnlock();
#if defined(ENABLE_FULL_PRINTING) && !defined(OS_CHROMEOS)
if (!cloud_print_mdns_ui_enabled_) {
@@ -1579,6 +1609,11 @@ void BrowserOptionsHandler::HandleRequestHotwordAvailable(
}
}
+void BrowserOptionsHandler::HandleLaunchEasyUnlockSetup(
+ const base::ListValue* args) {
+ // TODO(tengs): launch Easy Unlock setup flow.
+}
+
void BrowserOptionsHandler::HandleRequestHotwordSetupRetry(
const base::ListValue* args) {
// TODO(joshtrask): invoke BrowserOptions.showHotwordSection again, passing
@@ -1764,4 +1799,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
« no previous file with comments | « chrome/browser/ui/webui/options/browser_options_handler.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698