OLD | NEW |
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 14 matching lines...) Expand all Loading... |
25 #include "base/values.h" | 25 #include "base/values.h" |
26 #include "chrome/browser/auto_launch_trial.h" | 26 #include "chrome/browser/auto_launch_trial.h" |
27 #include "chrome/browser/browser_process.h" | 27 #include "chrome/browser/browser_process.h" |
28 #include "chrome/browser/chrome_notification_types.h" | 28 #include "chrome/browser/chrome_notification_types.h" |
29 #include "chrome/browser/chrome_page_zoom.h" | 29 #include "chrome/browser/chrome_page_zoom.h" |
30 #include "chrome/browser/custom_home_pages_table_model.h" | 30 #include "chrome/browser/custom_home_pages_table_model.h" |
31 #include "chrome/browser/download/download_prefs.h" | 31 #include "chrome/browser/download/download_prefs.h" |
32 #include "chrome/browser/gpu/gpu_mode_manager.h" | 32 #include "chrome/browser/gpu/gpu_mode_manager.h" |
33 #include "chrome/browser/lifetime/application_lifetime.h" | 33 #include "chrome/browser/lifetime/application_lifetime.h" |
34 #include "chrome/browser/metrics/metrics_reporting_state.h" | 34 #include "chrome/browser/metrics/metrics_reporting_state.h" |
| 35 #include "chrome/browser/net/prediction_options.h" |
35 #include "chrome/browser/prefs/session_startup_pref.h" | 36 #include "chrome/browser/prefs/session_startup_pref.h" |
36 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" | 37 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" |
37 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service_factory.
h" | 38 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service_factory.
h" |
38 #include "chrome/browser/profile_resetter/automatic_profile_resetter.h" | 39 #include "chrome/browser/profile_resetter/automatic_profile_resetter.h" |
39 #include "chrome/browser/profile_resetter/automatic_profile_resetter_factory.h" | 40 #include "chrome/browser/profile_resetter/automatic_profile_resetter_factory.h" |
40 #include "chrome/browser/profiles/profile.h" | 41 #include "chrome/browser/profiles/profile.h" |
41 #include "chrome/browser/profiles/profile_avatar_icon_util.h" | 42 #include "chrome/browser/profiles/profile_avatar_icon_util.h" |
42 #include "chrome/browser/profiles/profile_info_cache.h" | 43 #include "chrome/browser/profiles/profile_info_cache.h" |
43 #include "chrome/browser/profiles/profile_manager.h" | 44 #include "chrome/browser/profiles/profile_manager.h" |
44 #include "chrome/browser/profiles/profile_metrics.h" | 45 #include "chrome/browser/profiles/profile_metrics.h" |
(...skipping 781 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
826 auto_open_files_.Init( | 827 auto_open_files_.Init( |
827 prefs::kDownloadExtensionsToOpen, prefs, | 828 prefs::kDownloadExtensionsToOpen, prefs, |
828 base::Bind(&BrowserOptionsHandler::SetupAutoOpenFileTypes, | 829 base::Bind(&BrowserOptionsHandler::SetupAutoOpenFileTypes, |
829 base::Unretained(this))); | 830 base::Unretained(this))); |
830 default_zoom_level_.Init( | 831 default_zoom_level_.Init( |
831 prefs::kDefaultZoomLevel, prefs, | 832 prefs::kDefaultZoomLevel, prefs, |
832 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector, | 833 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector, |
833 base::Unretained(this))); | 834 base::Unretained(this))); |
834 profile_pref_registrar_.Init(prefs); | 835 profile_pref_registrar_.Init(prefs); |
835 profile_pref_registrar_.Add( | 836 profile_pref_registrar_.Add( |
| 837 prefs::kNetworkPredictionOptions, |
| 838 base::Bind(&BrowserOptionsHandler::SetupNetworkPredictionControl, |
| 839 base::Unretained(this))); |
| 840 profile_pref_registrar_.Add( |
836 prefs::kWebKitDefaultFontSize, | 841 prefs::kWebKitDefaultFontSize, |
837 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, | 842 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, |
838 base::Unretained(this))); | 843 base::Unretained(this))); |
839 profile_pref_registrar_.Add( | 844 profile_pref_registrar_.Add( |
840 prefs::kWebKitDefaultFixedFontSize, | 845 prefs::kWebKitDefaultFixedFontSize, |
841 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, | 846 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, |
842 base::Unretained(this))); | 847 base::Unretained(this))); |
843 profile_pref_registrar_.Add( | 848 profile_pref_registrar_.Add( |
844 prefs::kSupervisedUsers, | 849 prefs::kSupervisedUsers, |
845 base::Bind(&BrowserOptionsHandler::SetupManagingSupervisedUsers, | 850 base::Bind(&BrowserOptionsHandler::SetupManagingSupervisedUsers, |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
889 | 894 |
890 void BrowserOptionsHandler::InitializePage() { | 895 void BrowserOptionsHandler::InitializePage() { |
891 page_initialized_ = true; | 896 page_initialized_ = true; |
892 | 897 |
893 OnTemplateURLServiceChanged(); | 898 OnTemplateURLServiceChanged(); |
894 | 899 |
895 ObserveThemeChanged(); | 900 ObserveThemeChanged(); |
896 OnStateChanged(); | 901 OnStateChanged(); |
897 UpdateDefaultBrowserState(); | 902 UpdateDefaultBrowserState(); |
898 | 903 |
| 904 MigrateNetworkPredictionOptions(); |
| 905 |
899 SetupMetricsReportingSettingVisibility(); | 906 SetupMetricsReportingSettingVisibility(); |
| 907 SetupNetworkPredictionControl(); |
900 SetupFontSizeSelector(); | 908 SetupFontSizeSelector(); |
901 SetupPageZoomSelector(); | 909 SetupPageZoomSelector(); |
902 SetupAutoOpenFileTypes(); | 910 SetupAutoOpenFileTypes(); |
903 SetupProxySettingsSection(); | 911 SetupProxySettingsSection(); |
904 SetupManageCertificatesSection(); | 912 SetupManageCertificatesSection(); |
905 SetupManagingSupervisedUsers(); | 913 SetupManagingSupervisedUsers(); |
906 SetupEasyUnlock(); | 914 SetupEasyUnlock(); |
907 SetupExtensionControlledIndicators(); | 915 SetupExtensionControlledIndicators(); |
908 | 916 |
909 #if defined(OS_CHROMEOS) | 917 #if defined(OS_CHROMEOS) |
(...skipping 707 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1617 void BrowserOptionsHandler::SetupAccessibilityFeatures() { | 1625 void BrowserOptionsHandler::SetupAccessibilityFeatures() { |
1618 PrefService* pref_service = g_browser_process->local_state(); | 1626 PrefService* pref_service = g_browser_process->local_state(); |
1619 base::FundamentalValue virtual_keyboard_enabled( | 1627 base::FundamentalValue virtual_keyboard_enabled( |
1620 pref_service->GetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled)); | 1628 pref_service->GetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled)); |
1621 web_ui()->CallJavascriptFunction( | 1629 web_ui()->CallJavascriptFunction( |
1622 "BrowserOptions.setVirtualKeyboardCheckboxState", | 1630 "BrowserOptions.setVirtualKeyboardCheckboxState", |
1623 virtual_keyboard_enabled); | 1631 virtual_keyboard_enabled); |
1624 } | 1632 } |
1625 #endif | 1633 #endif |
1626 | 1634 |
| 1635 void BrowserOptionsHandler::MigrateNetworkPredictionOptions() { |
| 1636 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); |
| 1637 if (pref_service->GetInteger(prefs::kNetworkPredictionOptions) == |
| 1638 chrome_browser_net::NETWORK_PREDICTION_UNSET) { |
| 1639 pref_service->SetInteger( |
| 1640 prefs::kNetworkPredictionOptions, |
| 1641 pref_service->GetBoolean(prefs::kNetworkPredictionEnabled) |
| 1642 ? chrome_browser_net::NETWORK_PREDICTION_WIFI_ONLY |
| 1643 : chrome_browser_net::NETWORK_PREDICTION_NEVER); |
| 1644 } |
| 1645 } |
| 1646 |
1627 void BrowserOptionsHandler::SetupMetricsReportingSettingVisibility() { | 1647 void BrowserOptionsHandler::SetupMetricsReportingSettingVisibility() { |
1628 #if defined(GOOGLE_CHROME_BUILD) | 1648 #if defined(GOOGLE_CHROME_BUILD) |
1629 // Don't show the reporting setting if we are in the guest mode. | 1649 // Don't show the reporting setting if we are in the guest mode. |
1630 if (Profile::FromWebUI(web_ui())->IsGuestSession()) { | 1650 if (Profile::FromWebUI(web_ui())->IsGuestSession()) { |
1631 base::FundamentalValue visible(false); | 1651 base::FundamentalValue visible(false); |
1632 web_ui()->CallJavascriptFunction( | 1652 web_ui()->CallJavascriptFunction( |
1633 "BrowserOptions.setMetricsReportingSettingVisibility", visible); | 1653 "BrowserOptions.setMetricsReportingSettingVisibility", visible); |
1634 } | 1654 } |
1635 #endif | 1655 #endif |
1636 } | 1656 } |
1637 | 1657 |
| 1658 void BrowserOptionsHandler::SetupNetworkPredictionControl() { |
| 1659 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); |
| 1660 const PrefService::Preference* network_prediction_options = |
| 1661 pref_service->FindPreference(prefs::kNetworkPredictionOptions); |
| 1662 |
| 1663 base::DictionaryValue dict; |
| 1664 dict.SetInteger("value", |
| 1665 pref_service->GetInteger(prefs::kNetworkPredictionOptions)); |
| 1666 dict.SetBoolean("disabled", !network_prediction_options->IsUserModifiable()); |
| 1667 |
| 1668 web_ui()->CallJavascriptFunction("BrowserOptions.setNetworkPredictionValue", |
| 1669 dict); |
| 1670 } |
| 1671 |
1638 void BrowserOptionsHandler::SetupFontSizeSelector() { | 1672 void BrowserOptionsHandler::SetupFontSizeSelector() { |
1639 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); | 1673 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); |
1640 const PrefService::Preference* default_font_size = | 1674 const PrefService::Preference* default_font_size = |
1641 pref_service->FindPreference(prefs::kWebKitDefaultFontSize); | 1675 pref_service->FindPreference(prefs::kWebKitDefaultFontSize); |
1642 const PrefService::Preference* default_fixed_font_size = | 1676 const PrefService::Preference* default_fixed_font_size = |
1643 pref_service->FindPreference(prefs::kWebKitDefaultFixedFontSize); | 1677 pref_service->FindPreference(prefs::kWebKitDefaultFixedFontSize); |
1644 | 1678 |
1645 base::DictionaryValue dict; | 1679 base::DictionaryValue dict; |
1646 dict.SetInteger("value", | 1680 dict.SetInteger("value", |
1647 pref_service->GetInteger(prefs::kWebKitDefaultFontSize)); | 1681 pref_service->GetInteger(prefs::kWebKitDefaultFontSize)); |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1816 extension = extensions::GetExtensionOverridingProxy( | 1850 extension = extensions::GetExtensionOverridingProxy( |
1817 Profile::FromWebUI(web_ui())); | 1851 Profile::FromWebUI(web_ui())); |
1818 AppendExtensionData("proxy", extension, &extension_controlled); | 1852 AppendExtensionData("proxy", extension, &extension_controlled); |
1819 | 1853 |
1820 web_ui()->CallJavascriptFunction("BrowserOptions.toggleExtensionIndicators", | 1854 web_ui()->CallJavascriptFunction("BrowserOptions.toggleExtensionIndicators", |
1821 extension_controlled); | 1855 extension_controlled); |
1822 #endif // defined(OS_WIN) | 1856 #endif // defined(OS_WIN) |
1823 } | 1857 } |
1824 | 1858 |
1825 } // namespace options | 1859 } // namespace options |
OLD | NEW |