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

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: Remove obsolete access of ZoomController from WebUILoginView. 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 780 matching lines...) Expand 10 before | Expand all | Expand 10 after
791 OnStateChanged(); 791 OnStateChanged();
792 } 792 }
793 793
794 void BrowserOptionsHandler::PageLoadStarted() { 794 void BrowserOptionsHandler::PageLoadStarted() {
795 page_initialized_ = false; 795 page_initialized_ = false;
796 } 796 }
797 797
798 void BrowserOptionsHandler::InitializeHandler() { 798 void BrowserOptionsHandler::InitializeHandler() {
799 Profile* profile = Profile::FromWebUI(web_ui()); 799 Profile* profile = Profile::FromWebUI(web_ui());
800 PrefService* prefs = profile->GetPrefs(); 800 PrefService* prefs = profile->GetPrefs();
801 chrome::ChromeZoomLevelPrefs* zoom_level_prefs = profile->GetZoomLevelPrefs();
802 // Only regular profiles are able to edit default zoom level, or delete per-
803 // host zoom levels, via the settings menu. We only require a zoom_level_prefs
804 // if the profile is able to change these preference types.
805 DCHECK(zoom_level_prefs ||
806 profile->GetProfileType() != Profile::REGULAR_PROFILE);
807 if (zoom_level_prefs) {
808 default_zoom_level_subscription_ =
809 zoom_level_prefs->RegisterDefaultZoomLevelCallback(
810 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector,
811 base::Unretained(this)));
812 }
801 813
802 ProfileSyncService* sync_service( 814 ProfileSyncService* sync_service(
803 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile)); 815 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile));
804 // TODO(blundell): Use a ScopedObserver to observe the PSS so that cleanup on 816 // TODO(blundell): Use a ScopedObserver to observe the PSS so that cleanup on
805 // destruction is automatic. 817 // destruction is automatic.
806 if (sync_service) 818 if (sync_service)
807 sync_service->AddObserver(this); 819 sync_service->AddObserver(this);
808 820
809 SigninManagerBase* signin_manager( 821 SigninManagerBase* signin_manager(
810 SigninManagerFactory::GetInstance()->GetForProfile(profile)); 822 SigninManagerFactory::GetInstance()->GetForProfile(profile));
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
847 #endif 859 #endif
848 860
849 // No preferences below this point may be modified by guest profiles. 861 // No preferences below this point may be modified by guest profiles.
850 if (Profile::FromWebUI(web_ui())->IsGuestSession()) 862 if (Profile::FromWebUI(web_ui())->IsGuestSession())
851 return; 863 return;
852 864
853 auto_open_files_.Init( 865 auto_open_files_.Init(
854 prefs::kDownloadExtensionsToOpen, prefs, 866 prefs::kDownloadExtensionsToOpen, prefs,
855 base::Bind(&BrowserOptionsHandler::SetupAutoOpenFileTypes, 867 base::Bind(&BrowserOptionsHandler::SetupAutoOpenFileTypes,
856 base::Unretained(this))); 868 base::Unretained(this)));
857 default_zoom_level_.Init(
858 prefs::kDefaultZoomLevel, prefs,
859 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector,
860 base::Unretained(this)));
861 profile_pref_registrar_.Init(prefs); 869 profile_pref_registrar_.Init(prefs);
862 profile_pref_registrar_.Add( 870 profile_pref_registrar_.Add(
863 prefs::kNetworkPredictionOptions, 871 prefs::kNetworkPredictionOptions,
864 base::Bind(&BrowserOptionsHandler::SetupNetworkPredictionControl, 872 base::Bind(&BrowserOptionsHandler::SetupNetworkPredictionControl,
865 base::Unretained(this))); 873 base::Unretained(this)));
866 profile_pref_registrar_.Add( 874 profile_pref_registrar_.Add(
867 prefs::kWebKitDefaultFontSize, 875 prefs::kWebKitDefaultFontSize,
868 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, 876 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector,
869 base::Unretained(this))); 877 base::Unretained(this)));
870 profile_pref_registrar_.Add( 878 profile_pref_registrar_.Add(
(...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after
1518 pref_service->SetInteger(prefs::kWebKitDefaultFontSize, font_size); 1526 pref_service->SetInteger(prefs::kWebKitDefaultFontSize, font_size);
1519 SetupFontSizeSelector(); 1527 SetupFontSizeSelector();
1520 } 1528 }
1521 } 1529 }
1522 } 1530 }
1523 1531
1524 void BrowserOptionsHandler::HandleDefaultZoomFactor( 1532 void BrowserOptionsHandler::HandleDefaultZoomFactor(
1525 const base::ListValue* args) { 1533 const base::ListValue* args) {
1526 double zoom_factor; 1534 double zoom_factor;
1527 if (ExtractDoubleValue(args, &zoom_factor)) { 1535 if (ExtractDoubleValue(args, &zoom_factor)) {
1528 default_zoom_level_.SetValue(content::ZoomFactorToZoomLevel(zoom_factor)); 1536 Profile::FromWebUI(web_ui())->GetZoomLevelPrefs()->SetDefaultZoomLevelPref(
1537 content::ZoomFactorToZoomLevel(zoom_factor));
1529 } 1538 }
1530 } 1539 }
1531 1540
1532 void BrowserOptionsHandler::HandleRestartBrowser(const base::ListValue* args) { 1541 void BrowserOptionsHandler::HandleRestartBrowser(const base::ListValue* args) {
1533 #if defined(OS_WIN) && defined(USE_ASH) 1542 #if defined(OS_WIN) && defined(USE_ASH)
1534 // If hardware acceleration is disabled then we need to force restart 1543 // If hardware acceleration is disabled then we need to force restart
1535 // browser in desktop mode. 1544 // browser in desktop mode.
1536 // TODO(shrikant): Remove this once we fix start mode logic for browser. 1545 // TODO(shrikant): Remove this once we fix start mode logic for browser.
1537 // Currently there are issues with determining correct browser mode 1546 // Currently there are issues with determining correct browser mode
1538 // at startup. 1547 // at startup.
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
1775 dict.SetString("controlledBy", "policy"); 1784 dict.SetString("controlledBy", "policy");
1776 } else if (default_font_size->IsExtensionControlled() || 1785 } else if (default_font_size->IsExtensionControlled() ||
1777 default_fixed_font_size->IsExtensionControlled()) { 1786 default_fixed_font_size->IsExtensionControlled()) {
1778 dict.SetString("controlledBy", "extension"); 1787 dict.SetString("controlledBy", "extension");
1779 } 1788 }
1780 1789
1781 web_ui()->CallJavascriptFunction("BrowserOptions.setFontSize", dict); 1790 web_ui()->CallJavascriptFunction("BrowserOptions.setFontSize", dict);
1782 } 1791 }
1783 1792
1784 void BrowserOptionsHandler::SetupPageZoomSelector() { 1793 void BrowserOptionsHandler::SetupPageZoomSelector() {
1785 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); 1794 double default_zoom_level =
1786 double default_zoom_level = pref_service->GetDouble(prefs::kDefaultZoomLevel); 1795 content::HostZoomMap::GetDefaultForBrowserContext(
1796 Profile::FromWebUI(web_ui()))->GetDefaultZoomLevel();
1787 double default_zoom_factor = 1797 double default_zoom_factor =
1788 content::ZoomLevelToZoomFactor(default_zoom_level); 1798 content::ZoomLevelToZoomFactor(default_zoom_level);
1789 1799
1790 // Generate a vector of zoom factors from an array of known presets along with 1800 // Generate a vector of zoom factors from an array of known presets along with
1791 // the default factor added if necessary. 1801 // the default factor added if necessary.
1792 std::vector<double> zoom_factors = 1802 std::vector<double> zoom_factors =
1793 chrome_page_zoom::PresetZoomFactors(default_zoom_factor); 1803 chrome_page_zoom::PresetZoomFactors(default_zoom_factor);
1794 1804
1795 // Iterate through the zoom factors and and build the contents of the 1805 // Iterate through the zoom factors and and build the contents of the
1796 // selector that will be sent to the javascript handler. 1806 // selector that will be sent to the javascript handler.
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
1966 1976
1967 void BrowserOptionsHandler::SetMetricsReportingCheckbox(bool checked, 1977 void BrowserOptionsHandler::SetMetricsReportingCheckbox(bool checked,
1968 bool disabled) { 1978 bool disabled) {
1969 web_ui()->CallJavascriptFunction( 1979 web_ui()->CallJavascriptFunction(
1970 "BrowserOptions.setMetricsReportingCheckboxState", 1980 "BrowserOptions.setMetricsReportingCheckboxState",
1971 base::FundamentalValue(checked), 1981 base::FundamentalValue(checked),
1972 base::FundamentalValue(disabled)); 1982 base::FundamentalValue(disabled));
1973 } 1983 }
1974 1984
1975 } // namespace options 1985 } // namespace options
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/options/browser_options_handler.h ('k') | chrome/browser/ui/zoom/chrome_zoom_level_prefs.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698