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/value_conversions.h" | 25 #include "base/value_conversions.h" |
26 #include "base/values.h" | 26 #include "base/values.h" |
27 #include "chrome/browser/auto_launch_trial.h" | 27 #include "chrome/browser/auto_launch_trial.h" |
28 #include "chrome/browser/browser_process.h" | 28 #include "chrome/browser/browser_process.h" |
29 #include "chrome/browser/chrome_notification_types.h" | 29 #include "chrome/browser/chrome_notification_types.h" |
30 #include "chrome/browser/chrome_page_zoom.h" | 30 #include "chrome/browser/chrome_page_zoom.h" |
31 #include "chrome/browser/custom_home_pages_table_model.h" | 31 #include "chrome/browser/custom_home_pages_table_model.h" |
32 #include "chrome/browser/download/download_prefs.h" | 32 #include "chrome/browser/download/download_prefs.h" |
33 #include "chrome/browser/gpu/gpu_mode_manager.h" | 33 #include "chrome/browser/gpu/gpu_mode_manager.h" |
34 #include "chrome/browser/lifetime/application_lifetime.h" | 34 #include "chrome/browser/lifetime/application_lifetime.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 788 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
833 auto_open_files_.Init( | 834 auto_open_files_.Init( |
834 prefs::kDownloadExtensionsToOpen, prefs, | 835 prefs::kDownloadExtensionsToOpen, prefs, |
835 base::Bind(&BrowserOptionsHandler::SetupAutoOpenFileTypes, | 836 base::Bind(&BrowserOptionsHandler::SetupAutoOpenFileTypes, |
836 base::Unretained(this))); | 837 base::Unretained(this))); |
837 default_zoom_level_.Init( | 838 default_zoom_level_.Init( |
838 prefs::kDefaultZoomLevel, prefs, | 839 prefs::kDefaultZoomLevel, prefs, |
839 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector, | 840 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector, |
840 base::Unretained(this))); | 841 base::Unretained(this))); |
841 profile_pref_registrar_.Init(prefs); | 842 profile_pref_registrar_.Init(prefs); |
842 profile_pref_registrar_.Add( | 843 profile_pref_registrar_.Add( |
844 prefs::kNetworkPredictionOptions, | |
845 base::Bind(&BrowserOptionsHandler::SetupNetworkPredictionControl, | |
846 base::Unretained(this))); | |
847 profile_pref_registrar_.Add( | |
843 prefs::kWebKitDefaultFontSize, | 848 prefs::kWebKitDefaultFontSize, |
844 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, | 849 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, |
845 base::Unretained(this))); | 850 base::Unretained(this))); |
846 profile_pref_registrar_.Add( | 851 profile_pref_registrar_.Add( |
847 prefs::kWebKitDefaultFixedFontSize, | 852 prefs::kWebKitDefaultFixedFontSize, |
848 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, | 853 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, |
849 base::Unretained(this))); | 854 base::Unretained(this))); |
850 profile_pref_registrar_.Add( | 855 profile_pref_registrar_.Add( |
851 prefs::kSupervisedUsers, | 856 prefs::kSupervisedUsers, |
852 base::Bind(&BrowserOptionsHandler::SetupManagingSupervisedUsers, | 857 base::Bind(&BrowserOptionsHandler::SetupManagingSupervisedUsers, |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
896 | 901 |
897 void BrowserOptionsHandler::InitializePage() { | 902 void BrowserOptionsHandler::InitializePage() { |
898 page_initialized_ = true; | 903 page_initialized_ = true; |
899 | 904 |
900 OnTemplateURLServiceChanged(); | 905 OnTemplateURLServiceChanged(); |
901 | 906 |
902 ObserveThemeChanged(); | 907 ObserveThemeChanged(); |
903 OnStateChanged(); | 908 OnStateChanged(); |
904 UpdateDefaultBrowserState(); | 909 UpdateDefaultBrowserState(); |
905 | 910 |
911 MigrateNetworkPredictionOptions(); | |
912 | |
906 SetupMetricsReportingSettingVisibility(); | 913 SetupMetricsReportingSettingVisibility(); |
914 SetupNetworkPredictionControl(); | |
907 SetupFontSizeSelector(); | 915 SetupFontSizeSelector(); |
908 SetupPageZoomSelector(); | 916 SetupPageZoomSelector(); |
909 SetupAutoOpenFileTypes(); | 917 SetupAutoOpenFileTypes(); |
910 SetupProxySettingsSection(); | 918 SetupProxySettingsSection(); |
911 SetupManageCertificatesSection(); | 919 SetupManageCertificatesSection(); |
912 SetupManagingSupervisedUsers(); | 920 SetupManagingSupervisedUsers(); |
913 SetupEasyUnlock(); | 921 SetupEasyUnlock(); |
914 SetupExtensionControlledIndicators(); | 922 SetupExtensionControlledIndicators(); |
915 | 923 |
916 #if defined(OS_CHROMEOS) | 924 #if defined(OS_CHROMEOS) |
(...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1642 void BrowserOptionsHandler::SetupAccessibilityFeatures() { | 1650 void BrowserOptionsHandler::SetupAccessibilityFeatures() { |
1643 PrefService* pref_service = g_browser_process->local_state(); | 1651 PrefService* pref_service = g_browser_process->local_state(); |
1644 base::FundamentalValue virtual_keyboard_enabled( | 1652 base::FundamentalValue virtual_keyboard_enabled( |
1645 pref_service->GetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled)); | 1653 pref_service->GetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled)); |
1646 web_ui()->CallJavascriptFunction( | 1654 web_ui()->CallJavascriptFunction( |
1647 "BrowserOptions.setVirtualKeyboardCheckboxState", | 1655 "BrowserOptions.setVirtualKeyboardCheckboxState", |
1648 virtual_keyboard_enabled); | 1656 virtual_keyboard_enabled); |
1649 } | 1657 } |
1650 #endif | 1658 #endif |
1651 | 1659 |
1660 void BrowserOptionsHandler::MigrateNetworkPredictionOptions() { | |
1661 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); | |
1662 if (pref_service->GetInteger(prefs::kNetworkPredictionOptions) == | |
1663 chrome_browser_net::NETWORK_PREDICTION_UNSET && | |
1664 pref_service->FindPreference(prefs::kNetworkPredictionEnabled) && | |
1665 pref_service->FindPreference(prefs::kNetworkPredictionEnabled) | |
stevenjb
2014/08/05 15:51:56
nit: Use a local to avoid extra lookup. Also maybe
Bence
2014/08/06 19:38:16
Done.
| |
1666 ->HasUserSetting()) { | |
1667 pref_service->SetInteger( | |
1668 prefs::kNetworkPredictionOptions, | |
1669 pref_service->GetBoolean(prefs::kNetworkPredictionEnabled) | |
1670 ? chrome_browser_net::NETWORK_PREDICTION_WIFI_ONLY | |
1671 : chrome_browser_net::NETWORK_PREDICTION_NEVER); | |
1672 } | |
1673 } | |
1674 | |
1652 void BrowserOptionsHandler::SetupMetricsReportingSettingVisibility() { | 1675 void BrowserOptionsHandler::SetupMetricsReportingSettingVisibility() { |
1653 #if defined(GOOGLE_CHROME_BUILD) | 1676 #if defined(GOOGLE_CHROME_BUILD) |
1654 // Don't show the reporting setting if we are in the guest mode. | 1677 // Don't show the reporting setting if we are in the guest mode. |
1655 if (Profile::FromWebUI(web_ui())->IsGuestSession()) { | 1678 if (Profile::FromWebUI(web_ui())->IsGuestSession()) { |
1656 base::FundamentalValue visible(false); | 1679 base::FundamentalValue visible(false); |
1657 web_ui()->CallJavascriptFunction( | 1680 web_ui()->CallJavascriptFunction( |
1658 "BrowserOptions.setMetricsReportingSettingVisibility", visible); | 1681 "BrowserOptions.setMetricsReportingSettingVisibility", visible); |
1659 } | 1682 } |
1660 #endif | 1683 #endif |
1661 } | 1684 } |
1662 | 1685 |
1686 void BrowserOptionsHandler::SetupNetworkPredictionControl() { | |
1687 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); | |
1688 const PrefService::Preference* network_prediction_options = | |
1689 pref_service->FindPreference(prefs::kNetworkPredictionOptions); | |
1690 | |
1691 base::DictionaryValue dict; | |
1692 dict.SetInteger("value", | |
1693 pref_service->GetInteger(prefs::kNetworkPredictionOptions)); | |
stevenjb
2014/08/05 15:51:56
Use network_prediction_options->GetValue()->GetAsI
Bence
2014/08/06 19:38:16
Done.
| |
1694 dict.SetBoolean("disabled", !network_prediction_options->IsUserModifiable()); | |
1695 | |
1696 web_ui()->CallJavascriptFunction("BrowserOptions.setNetworkPredictionValue", | |
1697 dict); | |
1698 } | |
1699 | |
1663 void BrowserOptionsHandler::SetupFontSizeSelector() { | 1700 void BrowserOptionsHandler::SetupFontSizeSelector() { |
1664 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); | 1701 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); |
1665 const PrefService::Preference* default_font_size = | 1702 const PrefService::Preference* default_font_size = |
1666 pref_service->FindPreference(prefs::kWebKitDefaultFontSize); | 1703 pref_service->FindPreference(prefs::kWebKitDefaultFontSize); |
1667 const PrefService::Preference* default_fixed_font_size = | 1704 const PrefService::Preference* default_fixed_font_size = |
1668 pref_service->FindPreference(prefs::kWebKitDefaultFixedFontSize); | 1705 pref_service->FindPreference(prefs::kWebKitDefaultFixedFontSize); |
1669 | 1706 |
1670 base::DictionaryValue dict; | 1707 base::DictionaryValue dict; |
1671 dict.SetInteger("value", | 1708 dict.SetInteger("value", |
1672 pref_service->GetInteger(prefs::kWebKitDefaultFontSize)); | 1709 pref_service->GetInteger(prefs::kWebKitDefaultFontSize)); |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1841 extension = extensions::GetExtensionOverridingProxy( | 1878 extension = extensions::GetExtensionOverridingProxy( |
1842 Profile::FromWebUI(web_ui())); | 1879 Profile::FromWebUI(web_ui())); |
1843 AppendExtensionData("proxy", extension, &extension_controlled); | 1880 AppendExtensionData("proxy", extension, &extension_controlled); |
1844 | 1881 |
1845 web_ui()->CallJavascriptFunction("BrowserOptions.toggleExtensionIndicators", | 1882 web_ui()->CallJavascriptFunction("BrowserOptions.toggleExtensionIndicators", |
1846 extension_controlled); | 1883 extension_controlled); |
1847 #endif // defined(OS_WIN) | 1884 #endif // defined(OS_WIN) |
1848 } | 1885 } |
1849 | 1886 |
1850 } // namespace options | 1887 } // namespace options |
OLD | NEW |