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

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

Issue 541103002: Introduce ChromeZoomLevelPref, make zoom level prefs independent of profile prefs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Convert to using only profile prefs. Created 6 years, 2 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 "base/bind.h" 10 #include "base/bind.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 #include "chrome/browser/sync/profile_sync_service.h" 53 #include "chrome/browser/sync/profile_sync_service.h"
54 #include "chrome/browser/sync/profile_sync_service_factory.h" 54 #include "chrome/browser/sync/profile_sync_service_factory.h"
55 #include "chrome/browser/sync/sync_ui_util.h" 55 #include "chrome/browser/sync/sync_ui_util.h"
56 #include "chrome/browser/themes/theme_service.h" 56 #include "chrome/browser/themes/theme_service.h"
57 #include "chrome/browser/themes/theme_service_factory.h" 57 #include "chrome/browser/themes/theme_service_factory.h"
58 #include "chrome/browser/ui/browser_finder.h" 58 #include "chrome/browser/ui/browser_finder.h"
59 #include "chrome/browser/ui/chrome_select_file_policy.h" 59 #include "chrome/browser/ui/chrome_select_file_policy.h"
60 #include "chrome/browser/ui/host_desktop.h" 60 #include "chrome/browser/ui/host_desktop.h"
61 #include "chrome/browser/ui/webui/favicon_source.h" 61 #include "chrome/browser/ui/webui/favicon_source.h"
62 #include "chrome/browser/ui/webui/options/options_handlers_helper.h" 62 #include "chrome/browser/ui/webui/options/options_handlers_helper.h"
63 #include "chrome/browser/ui/zoom/chrome_zoom_level_prefs.h"
63 #include "chrome/common/chrome_constants.h" 64 #include "chrome/common/chrome_constants.h"
64 #include "chrome/common/chrome_paths.h" 65 #include "chrome/common/chrome_paths.h"
65 #include "chrome/common/chrome_switches.h" 66 #include "chrome/common/chrome_switches.h"
66 #include "chrome/common/extensions/extension_constants.h" 67 #include "chrome/common/extensions/extension_constants.h"
67 #include "chrome/common/pref_names.h" 68 #include "chrome/common/pref_names.h"
68 #include "chrome/common/url_constants.h" 69 #include "chrome/common/url_constants.h"
69 #include "chrome/grit/chromium_strings.h" 70 #include "chrome/grit/chromium_strings.h"
70 #include "chrome/grit/generated_resources.h" 71 #include "chrome/grit/generated_resources.h"
71 #include "chrome/grit/locale_settings.h" 72 #include "chrome/grit/locale_settings.h"
72 #include "chromeos/chromeos_switches.h" 73 #include "chromeos/chromeos_switches.h"
(...skipping 728 matching lines...) Expand 10 before | Expand all | Expand 10 after
801 OnStateChanged(); 802 OnStateChanged();
802 } 803 }
803 804
804 void BrowserOptionsHandler::PageLoadStarted() { 805 void BrowserOptionsHandler::PageLoadStarted() {
805 page_initialized_ = false; 806 page_initialized_ = false;
806 } 807 }
807 808
808 void BrowserOptionsHandler::InitializeHandler() { 809 void BrowserOptionsHandler::InitializeHandler() {
809 Profile* profile = Profile::FromWebUI(web_ui()); 810 Profile* profile = Profile::FromWebUI(web_ui());
810 PrefService* prefs = profile->GetPrefs(); 811 PrefService* prefs = profile->GetPrefs();
812 chrome::ChromeZoomLevelPrefs* zoom_level_prefs = profile->GetZoomLevelPrefs();
813 DCHECK(zoom_level_prefs);
811 814
812 ProfileSyncService* sync_service( 815 ProfileSyncService* sync_service(
813 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile)); 816 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile));
814 // TODO(blundell): Use a ScopedObserver to observe the PSS so that cleanup on 817 // TODO(blundell): Use a ScopedObserver to observe the PSS so that cleanup on
815 // destruction is automatic. 818 // destruction is automatic.
816 if (sync_service) 819 if (sync_service)
817 sync_service->AddObserver(this); 820 sync_service->AddObserver(this);
818 821
819 SigninManagerBase* signin_manager( 822 SigninManagerBase* signin_manager(
820 SigninManagerFactory::GetInstance()->GetForProfile(profile)); 823 SigninManagerFactory::GetInstance()->GetForProfile(profile));
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
858 861
859 // No preferences below this point may be modified by guest profiles. 862 // No preferences below this point may be modified by guest profiles.
860 if (Profile::FromWebUI(web_ui())->IsGuestSession()) 863 if (Profile::FromWebUI(web_ui())->IsGuestSession())
861 return; 864 return;
862 865
863 auto_open_files_.Init( 866 auto_open_files_.Init(
864 prefs::kDownloadExtensionsToOpen, prefs, 867 prefs::kDownloadExtensionsToOpen, prefs,
865 base::Bind(&BrowserOptionsHandler::SetupAutoOpenFileTypes, 868 base::Bind(&BrowserOptionsHandler::SetupAutoOpenFileTypes,
866 base::Unretained(this))); 869 base::Unretained(this)));
867 default_zoom_level_.Init( 870 default_zoom_level_.Init(
868 prefs::kDefaultZoomLevel, prefs, 871 zoom_level_prefs->GetDefaultZoomLevelPath().c_str(),
872 prefs,
869 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector, 873 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector,
870 base::Unretained(this))); 874 base::Unretained(this)));
871 profile_pref_registrar_.Init(prefs); 875 profile_pref_registrar_.Init(prefs);
872 profile_pref_registrar_.Add( 876 profile_pref_registrar_.Add(
873 prefs::kNetworkPredictionOptions, 877 prefs::kNetworkPredictionOptions,
874 base::Bind(&BrowserOptionsHandler::SetupNetworkPredictionControl, 878 base::Bind(&BrowserOptionsHandler::SetupNetworkPredictionControl,
875 base::Unretained(this))); 879 base::Unretained(this)));
876 profile_pref_registrar_.Add( 880 profile_pref_registrar_.Add(
877 prefs::kWebKitDefaultFontSize, 881 prefs::kWebKitDefaultFontSize,
878 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, 882 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector,
(...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after
1527 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); 1531 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs();
1528 pref_service->SetInteger(prefs::kWebKitDefaultFontSize, font_size); 1532 pref_service->SetInteger(prefs::kWebKitDefaultFontSize, font_size);
1529 SetupFontSizeSelector(); 1533 SetupFontSizeSelector();
1530 } 1534 }
1531 } 1535 }
1532 } 1536 }
1533 1537
1534 void BrowserOptionsHandler::HandleDefaultZoomFactor( 1538 void BrowserOptionsHandler::HandleDefaultZoomFactor(
1535 const base::ListValue* args) { 1539 const base::ListValue* args) {
1536 double zoom_factor; 1540 double zoom_factor;
1537 if (ExtractDoubleValue(args, &zoom_factor)) { 1541 if (ExtractDoubleValue(args, &zoom_factor))
1538 default_zoom_level_.SetValue(content::ZoomFactorToZoomLevel(zoom_factor)); 1542 default_zoom_level_.SetValue(content::ZoomFactorToZoomLevel(zoom_factor));
1539 }
1540 } 1543 }
1541 1544
1542 void BrowserOptionsHandler::HandleRestartBrowser(const base::ListValue* args) { 1545 void BrowserOptionsHandler::HandleRestartBrowser(const base::ListValue* args) {
1543 #if defined(OS_WIN) && defined(USE_ASH) 1546 #if defined(OS_WIN) && defined(USE_ASH)
1544 // If hardware acceleration is disabled then we need to force restart 1547 // If hardware acceleration is disabled then we need to force restart
1545 // browser in desktop mode. 1548 // browser in desktop mode.
1546 // TODO(shrikant): Remove this once we fix start mode logic for browser. 1549 // TODO(shrikant): Remove this once we fix start mode logic for browser.
1547 // Currently there are issues with determining correct browser mode 1550 // Currently there are issues with determining correct browser mode
1548 // at startup. 1551 // at startup.
1549 if (chrome::GetActiveDesktop() == chrome::HOST_DESKTOP_TYPE_ASH) { 1552 if (chrome::GetActiveDesktop() == chrome::HOST_DESKTOP_TYPE_ASH) {
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
1785 dict.SetString("controlledBy", "policy"); 1788 dict.SetString("controlledBy", "policy");
1786 } else if (default_font_size->IsExtensionControlled() || 1789 } else if (default_font_size->IsExtensionControlled() ||
1787 default_fixed_font_size->IsExtensionControlled()) { 1790 default_fixed_font_size->IsExtensionControlled()) {
1788 dict.SetString("controlledBy", "extension"); 1791 dict.SetString("controlledBy", "extension");
1789 } 1792 }
1790 1793
1791 web_ui()->CallJavascriptFunction("BrowserOptions.setFontSize", dict); 1794 web_ui()->CallJavascriptFunction("BrowserOptions.setFontSize", dict);
1792 } 1795 }
1793 1796
1794 void BrowserOptionsHandler::SetupPageZoomSelector() { 1797 void BrowserOptionsHandler::SetupPageZoomSelector() {
1795 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); 1798 double default_zoom_level =
1796 double default_zoom_level = pref_service->GetDouble(prefs::kDefaultZoomLevel); 1799 content::HostZoomMap::GetDefaultForBrowserContext(
1800 Profile::FromWebUI(web_ui()))->GetDefaultZoomLevel();
1797 double default_zoom_factor = 1801 double default_zoom_factor =
1798 content::ZoomLevelToZoomFactor(default_zoom_level); 1802 content::ZoomLevelToZoomFactor(default_zoom_level);
1799 1803
1800 // Generate a vector of zoom factors from an array of known presets along with 1804 // Generate a vector of zoom factors from an array of known presets along with
1801 // the default factor added if necessary. 1805 // the default factor added if necessary.
1802 std::vector<double> zoom_factors = 1806 std::vector<double> zoom_factors =
1803 chrome_page_zoom::PresetZoomFactors(default_zoom_factor); 1807 chrome_page_zoom::PresetZoomFactors(default_zoom_factor);
1804 1808
1805 // Iterate through the zoom factors and and build the contents of the 1809 // Iterate through the zoom factors and and build the contents of the
1806 // selector that will be sent to the javascript handler. 1810 // selector that will be sent to the javascript handler.
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
1976 1980
1977 void BrowserOptionsHandler::SetMetricsReportingCheckbox(bool checked, 1981 void BrowserOptionsHandler::SetMetricsReportingCheckbox(bool checked,
1978 bool disabled) { 1982 bool disabled) {
1979 web_ui()->CallJavascriptFunction( 1983 web_ui()->CallJavascriptFunction(
1980 "BrowserOptions.setMetricsReportingCheckboxState", 1984 "BrowserOptions.setMetricsReportingCheckboxState",
1981 base::FundamentalValue(checked), 1985 base::FundamentalValue(checked),
1982 base::FundamentalValue(disabled)); 1986 base::FundamentalValue(disabled));
1983 } 1987 }
1984 1988
1985 } // namespace options 1989 } // namespace options
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698