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

Side by Side 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 unified diff | Download patch | Annotate | Revision Log
« 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 »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/webui/options/browser_options_handler.h" 5 #include "chrome/browser/ui/webui/options/browser_options_handler.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "apps/app_window.h" 10 #include "apps/app_window.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 #include "ui/base/webui/web_ui_util.h" 94 #include "ui/base/webui/web_ui_util.h"
95 95
96 #if !defined(OS_CHROMEOS) 96 #if !defined(OS_CHROMEOS)
97 #include "chrome/browser/ui/webui/options/advanced_options_utils.h" 97 #include "chrome/browser/ui/webui/options/advanced_options_utils.h"
98 #endif 98 #endif
99 99
100 #if defined(OS_CHROMEOS) 100 #if defined(OS_CHROMEOS)
101 #include "ash/ash_switches.h" 101 #include "ash/ash_switches.h"
102 #include "ash/magnifier/magnifier_constants.h" 102 #include "ash/magnifier/magnifier_constants.h"
103 #include "chrome/browser/chromeos/accessibility/accessibility_util.h" 103 #include "chrome/browser/chromeos/accessibility/accessibility_util.h"
104 #include "chrome/browser/chromeos/chromeos_utils.h"
104 #include "chrome/browser/chromeos/extensions/wallpaper_manager_util.h" 105 #include "chrome/browser/chromeos/extensions/wallpaper_manager_util.h"
105 #include "chrome/browser/chromeos/login/user.h" 106 #include "chrome/browser/chromeos/login/user.h"
106 #include "chrome/browser/chromeos/login/user_manager.h" 107 #include "chrome/browser/chromeos/login/user_manager.h"
107 #include "chrome/browser/chromeos/login/wallpaper_manager.h" 108 #include "chrome/browser/chromeos/login/wallpaper_manager.h"
108 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" 109 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
109 #include "chrome/browser/chromeos/settings/cros_settings.h" 110 #include "chrome/browser/chromeos/settings/cros_settings.h"
110 #include "chrome/browser/chromeos/system/timezone_util.h" 111 #include "chrome/browser/chromeos/system/timezone_util.h"
111 #include "chrome/browser/policy/profile_policy_connector.h" 112 #include "chrome/browser/policy/profile_policy_connector.h"
112 #include "chrome/browser/policy/profile_policy_connector_factory.h" 113 #include "chrome/browser/policy/profile_policy_connector_factory.h"
113 #include "chrome/browser/ui/browser_window.h" 114 #include "chrome/browser/ui/browser_window.h"
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 { "doNotTrackConfirmDisable", 226 { "doNotTrackConfirmDisable",
226 IDS_OPTIONS_ENABLE_DO_NOT_TRACK_BUBBLE_DISABLE }, 227 IDS_OPTIONS_ENABLE_DO_NOT_TRACK_BUBBLE_DISABLE },
227 { "downloadLocationAskForSaveLocation", 228 { "downloadLocationAskForSaveLocation",
228 IDS_OPTIONS_DOWNLOADLOCATION_ASKFORSAVELOCATION }, 229 IDS_OPTIONS_DOWNLOADLOCATION_ASKFORSAVELOCATION },
229 { "downloadLocationBrowseTitle", 230 { "downloadLocationBrowseTitle",
230 IDS_OPTIONS_DOWNLOADLOCATION_BROWSE_TITLE }, 231 IDS_OPTIONS_DOWNLOADLOCATION_BROWSE_TITLE },
231 { "downloadLocationChangeButton", 232 { "downloadLocationChangeButton",
232 IDS_OPTIONS_DOWNLOADLOCATION_CHANGE_BUTTON }, 233 IDS_OPTIONS_DOWNLOADLOCATION_CHANGE_BUTTON },
233 { "downloadLocationGroupName", IDS_OPTIONS_DOWNLOADLOCATION_GROUP_NAME }, 234 { "downloadLocationGroupName", IDS_OPTIONS_DOWNLOADLOCATION_GROUP_NAME },
234 { "enableLogging", IDS_OPTIONS_ENABLE_LOGGING }, 235 { "enableLogging", IDS_OPTIONS_ENABLE_LOGGING },
236 #if !defined(OS_CHROMEOS)
237 { "easyUnlockCheckboxLabel", IDS_OPTIONS_EASY_UNLOCK_CHECKBOX_LABEL },
238 #endif
239 { "easyUnlockSectionTitle", IDS_OPTIONS_EASY_UNLOCK_SECTION_TITLE },
240 { "easyUnlockSetupButton", IDS_OPTIONS_EASY_UNLOCK_SETUP_BUTTON },
241 { "easyUnlockManagement", IDS_OPTIONS_EASY_UNLOCK_MANAGEMENT },
235 { "fontSettingsCustomizeFontsButton", 242 { "fontSettingsCustomizeFontsButton",
236 IDS_OPTIONS_FONTSETTINGS_CUSTOMIZE_FONTS_BUTTON }, 243 IDS_OPTIONS_FONTSETTINGS_CUSTOMIZE_FONTS_BUTTON },
237 { "fontSizeLabelCustom", IDS_OPTIONS_FONT_SIZE_LABEL_CUSTOM }, 244 { "fontSizeLabelCustom", IDS_OPTIONS_FONT_SIZE_LABEL_CUSTOM },
238 { "fontSizeLabelLarge", IDS_OPTIONS_FONT_SIZE_LABEL_LARGE }, 245 { "fontSizeLabelLarge", IDS_OPTIONS_FONT_SIZE_LABEL_LARGE },
239 { "fontSizeLabelMedium", IDS_OPTIONS_FONT_SIZE_LABEL_MEDIUM }, 246 { "fontSizeLabelMedium", IDS_OPTIONS_FONT_SIZE_LABEL_MEDIUM },
240 { "fontSizeLabelSmall", IDS_OPTIONS_FONT_SIZE_LABEL_SMALL }, 247 { "fontSizeLabelSmall", IDS_OPTIONS_FONT_SIZE_LABEL_SMALL },
241 { "fontSizeLabelVeryLarge", IDS_OPTIONS_FONT_SIZE_LABEL_VERY_LARGE }, 248 { "fontSizeLabelVeryLarge", IDS_OPTIONS_FONT_SIZE_LABEL_VERY_LARGE },
242 { "fontSizeLabelVerySmall", IDS_OPTIONS_FONT_SIZE_LABEL_VERY_SMALL }, 249 { "fontSizeLabelVerySmall", IDS_OPTIONS_FONT_SIZE_LABEL_VERY_SMALL },
243 { "hideAdvancedSettings", IDS_SETTINGS_HIDE_ADVANCED_SETTINGS }, 250 { "hideAdvancedSettings", IDS_SETTINGS_HIDE_ADVANCED_SETTINGS },
244 { "homePageNtp", IDS_OPTIONS_HOMEPAGE_NTP }, 251 { "homePageNtp", IDS_OPTIONS_HOMEPAGE_NTP },
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
560 !local_discovery::PrivetNotificationService::IsEnabled()); 567 !local_discovery::PrivetNotificationService::IsEnabled());
561 #endif 568 #endif
562 569
563 values->SetBoolean("cloudPrintShowMDnsOptions", 570 values->SetBoolean("cloudPrintShowMDnsOptions",
564 cloud_print_mdns_ui_enabled_); 571 cloud_print_mdns_ui_enabled_);
565 572
566 values->SetString("cloudPrintLearnMoreURL", chrome::kCloudPrintLearnMoreURL); 573 values->SetString("cloudPrintLearnMoreURL", chrome::kCloudPrintLearnMoreURL);
567 574
568 values->SetString("languagesLearnMoreURL", 575 values->SetString("languagesLearnMoreURL",
569 chrome::kLanguageSettingsLearnMoreUrl); 576 chrome::kLanguageSettingsLearnMoreUrl);
577
578 values->SetBoolean(
579 "easyUnlockEnabled",
580 CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableEasyUnlock));
581 values->SetString("easyUnlockLearnMoreURL", chrome::kEasyUnlockLearnMoreUrl);
582 values->SetString("easyUnlockManagementURL",
583 chrome::kEasyUnlockManagementUrl);
584 #if defined(OS_CHROMEOS)
585 values->SetString("easyUnlockCheckboxLabel",
586 l10n_util::GetStringFUTF16(
587 IDS_OPTIONS_EASY_UNLOCK_CHECKBOX_LABEL_CHROMEOS,
588 chromeos::GetChromeDeviceType()));
589 #endif
570 } 590 }
571 591
572 #if defined(ENABLE_FULL_PRINTING) 592 #if defined(ENABLE_FULL_PRINTING)
573 void BrowserOptionsHandler::RegisterCloudPrintValues( 593 void BrowserOptionsHandler::RegisterCloudPrintValues(
574 base::DictionaryValue* values) { 594 base::DictionaryValue* values) {
575 values->SetString("cloudPrintOptionLabel", 595 values->SetString("cloudPrintOptionLabel",
576 l10n_util::GetStringFUTF16( 596 l10n_util::GetStringFUTF16(
577 IDS_CLOUD_PRINT_CHROMEOS_OPTION_LABEL, 597 IDS_CLOUD_PRINT_CHROMEOS_OPTION_LABEL,
578 l10n_util::GetStringUTF16(IDS_GOOGLE_CLOUD_PRINT))); 598 l10n_util::GetStringUTF16(IDS_GOOGLE_CLOUD_PRINT)));
579 599
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 #endif 722 #endif
703 web_ui()->RegisterMessageCallback( 723 web_ui()->RegisterMessageCallback(
704 "requestHotwordAvailable", 724 "requestHotwordAvailable",
705 base::Bind(&BrowserOptionsHandler::HandleRequestHotwordAvailable, 725 base::Bind(&BrowserOptionsHandler::HandleRequestHotwordAvailable,
706 base::Unretained(this))); 726 base::Unretained(this)));
707 727
708 web_ui()->RegisterMessageCallback( 728 web_ui()->RegisterMessageCallback(
709 "requestHotwordSetupRetry", 729 "requestHotwordSetupRetry",
710 base::Bind(&BrowserOptionsHandler::HandleRequestHotwordSetupRetry, 730 base::Bind(&BrowserOptionsHandler::HandleRequestHotwordSetupRetry,
711 base::Unretained(this))); 731 base::Unretained(this)));
732
733 web_ui()->RegisterMessageCallback(
734 "launchEasyUnlockSetup",
735 base::Bind(&BrowserOptionsHandler::HandleLaunchEasyUnlockSetup,
736 base::Unretained(this)));
712 } 737 }
713 738
714 void BrowserOptionsHandler::Uninitialize() { 739 void BrowserOptionsHandler::Uninitialize() {
715 registrar_.RemoveAll(); 740 registrar_.RemoveAll();
716 } 741 }
717 742
718 void BrowserOptionsHandler::OnStateChanged() { 743 void BrowserOptionsHandler::OnStateChanged() {
719 UpdateSyncState(); 744 UpdateSyncState();
720 } 745 }
721 746
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
796 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, 821 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector,
797 base::Unretained(this))); 822 base::Unretained(this)));
798 profile_pref_registrar_.Add( 823 profile_pref_registrar_.Add(
799 prefs::kManagedUsers, 824 prefs::kManagedUsers,
800 base::Bind(&BrowserOptionsHandler::SetupManagingSupervisedUsers, 825 base::Bind(&BrowserOptionsHandler::SetupManagingSupervisedUsers,
801 base::Unretained(this))); 826 base::Unretained(this)));
802 profile_pref_registrar_.Add( 827 profile_pref_registrar_.Add(
803 prefs::kSigninAllowed, 828 prefs::kSigninAllowed,
804 base::Bind(&BrowserOptionsHandler::OnSigninAllowedPrefChange, 829 base::Bind(&BrowserOptionsHandler::OnSigninAllowedPrefChange,
805 base::Unretained(this))); 830 base::Unretained(this)));
831 profile_pref_registrar_.Add(
832 prefs::kEasyUnlockPairing,
833 base::Bind(&BrowserOptionsHandler::SetupEasyUnlock,
834 base::Unretained(this)));
806 835
807 #if defined(OS_CHROMEOS) 836 #if defined(OS_CHROMEOS)
808 if (!policy_registrar_) { 837 if (!policy_registrar_) {
809 policy_registrar_.reset(new policy::PolicyChangeRegistrar( 838 policy_registrar_.reset(new policy::PolicyChangeRegistrar(
810 policy::ProfilePolicyConnectorFactory::GetForProfile(profile)-> 839 policy::ProfilePolicyConnectorFactory::GetForProfile(profile)->
811 policy_service(), 840 policy_service(),
812 policy::PolicyNamespace(policy::POLICY_DOMAIN_CHROME, std::string()))); 841 policy::PolicyNamespace(policy::POLICY_DOMAIN_CHROME, std::string())));
813 policy_registrar_->Observe( 842 policy_registrar_->Observe(
814 policy::key::kUserAvatarImage, 843 policy::key::kUserAvatarImage,
815 base::Bind(&BrowserOptionsHandler::OnUserImagePolicyChanged, 844 base::Bind(&BrowserOptionsHandler::OnUserImagePolicyChanged,
(...skipping 20 matching lines...) Expand all
836 OnStateChanged(); 865 OnStateChanged();
837 UpdateDefaultBrowserState(); 866 UpdateDefaultBrowserState();
838 867
839 SetupMetricsReportingSettingVisibility(); 868 SetupMetricsReportingSettingVisibility();
840 SetupFontSizeSelector(); 869 SetupFontSizeSelector();
841 SetupPageZoomSelector(); 870 SetupPageZoomSelector();
842 SetupAutoOpenFileTypes(); 871 SetupAutoOpenFileTypes();
843 SetupProxySettingsSection(); 872 SetupProxySettingsSection();
844 SetupManageCertificatesSection(); 873 SetupManageCertificatesSection();
845 SetupManagingSupervisedUsers(); 874 SetupManagingSupervisedUsers();
875 SetupEasyUnlock();
846 876
847 #if defined(ENABLE_FULL_PRINTING) && !defined(OS_CHROMEOS) 877 #if defined(ENABLE_FULL_PRINTING) && !defined(OS_CHROMEOS)
848 if (!cloud_print_mdns_ui_enabled_) { 878 if (!cloud_print_mdns_ui_enabled_) {
849 if (cloud_print_connector_ui_enabled_) { 879 if (cloud_print_connector_ui_enabled_) {
850 SetupCloudPrintConnectorSection(); 880 SetupCloudPrintConnectorSection();
851 RefreshCloudPrintStatusFromService(); 881 RefreshCloudPrintStatusFromService();
852 } else { 882 } else {
853 RemoveCloudPrintConnectorSection(); 883 RemoveCloudPrintConnectorSection();
854 } 884 }
855 } 885 }
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after
1572 web_ui()->CallJavascriptFunction("BrowserOptions.showHotwordSection"); 1602 web_ui()->CallJavascriptFunction("BrowserOptions.showHotwordSection");
1573 } else if (HotwordServiceFactory::IsHotwordAllowed(profile)) { 1603 } else if (HotwordServiceFactory::IsHotwordAllowed(profile)) {
1574 base::StringValue error_message(l10n_util::GetStringUTF16( 1604 base::StringValue error_message(l10n_util::GetStringUTF16(
1575 IDS_HOTWORD_GENERIC_ERROR_MESSAGE)); 1605 IDS_HOTWORD_GENERIC_ERROR_MESSAGE));
1576 web_ui()->CallJavascriptFunction("BrowserOptions.showHotwordSection", 1606 web_ui()->CallJavascriptFunction("BrowserOptions.showHotwordSection",
1577 error_message); 1607 error_message);
1578 } 1608 }
1579 } 1609 }
1580 } 1610 }
1581 1611
1612 void BrowserOptionsHandler::HandleLaunchEasyUnlockSetup(
1613 const base::ListValue* args) {
1614 // TODO(tengs): launch Easy Unlock setup flow.
1615 }
1616
1582 void BrowserOptionsHandler::HandleRequestHotwordSetupRetry( 1617 void BrowserOptionsHandler::HandleRequestHotwordSetupRetry(
1583 const base::ListValue* args) { 1618 const base::ListValue* args) {
1584 // TODO(joshtrask): invoke BrowserOptions.showHotwordSection again, passing 1619 // TODO(joshtrask): invoke BrowserOptions.showHotwordSection again, passing
1585 // the new error message if any. 1620 // the new error message if any.
1586 HotwordServiceFactory::RetryHotwordExtension(Profile::FromWebUI(web_ui())); 1621 HotwordServiceFactory::RetryHotwordExtension(Profile::FromWebUI(web_ui()));
1587 } 1622 }
1588 1623
1589 #if defined(OS_CHROMEOS) 1624 #if defined(OS_CHROMEOS)
1590 void BrowserOptionsHandler::HandleOpenWallpaperManager( 1625 void BrowserOptionsHandler::HandleOpenWallpaperManager(
1591 const base::ListValue* args) { 1626 const base::ListValue* args) {
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
1757 1792
1758 void BrowserOptionsHandler::SetupManagingSupervisedUsers() { 1793 void BrowserOptionsHandler::SetupManagingSupervisedUsers() {
1759 bool has_users = !Profile::FromWebUI(web_ui())-> 1794 bool has_users = !Profile::FromWebUI(web_ui())->
1760 GetPrefs()->GetDictionary(prefs::kManagedUsers)->empty(); 1795 GetPrefs()->GetDictionary(prefs::kManagedUsers)->empty();
1761 base::FundamentalValue has_users_value(has_users); 1796 base::FundamentalValue has_users_value(has_users);
1762 web_ui()->CallJavascriptFunction( 1797 web_ui()->CallJavascriptFunction(
1763 "BrowserOptions.updateManagesSupervisedUsers", 1798 "BrowserOptions.updateManagesSupervisedUsers",
1764 has_users_value); 1799 has_users_value);
1765 } 1800 }
1766 1801
1802 void BrowserOptionsHandler::SetupEasyUnlock() {
1803 bool has_pairing = !Profile::FromWebUI(web_ui())->GetPrefs()
1804 ->GetDictionary(prefs::kEasyUnlockPairing)->empty();
1805 base::FundamentalValue has_pairing_value(has_pairing);
1806 web_ui()->CallJavascriptFunction(
1807 "BrowserOptions.updateEasyUnlock",
1808 has_pairing_value);
1809 }
1810
1767 } // namespace options 1811 } // namespace options
OLDNEW
« 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