| 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 |