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

Side by Side Diff: chrome/browser/ui/webui/options/browser_options_handler.cc

Issue 421653006: Update "Predict network actions" UI setting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update test cases and hack test. Created 6 years, 4 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
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 14 matching lines...) Expand all
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698