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 "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 790 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
801 OnStateChanged(); | 801 OnStateChanged(); |
802 } | 802 } |
803 | 803 |
804 void BrowserOptionsHandler::PageLoadStarted() { | 804 void BrowserOptionsHandler::PageLoadStarted() { |
805 page_initialized_ = false; | 805 page_initialized_ = false; |
806 } | 806 } |
807 | 807 |
808 void BrowserOptionsHandler::InitializeHandler() { | 808 void BrowserOptionsHandler::InitializeHandler() { |
809 Profile* profile = Profile::FromWebUI(web_ui()); | 809 Profile* profile = Profile::FromWebUI(web_ui()); |
810 PrefService* prefs = profile->GetPrefs(); | 810 PrefService* prefs = profile->GetPrefs(); |
| 811 chrome::ChromeZoomLevelPrefs* zoom_level_prefs = profile->GetZoomLevelPrefs(); |
| 812 DCHECK(zoom_level_prefs); |
| 813 default_zoom_level_subscription_ = |
| 814 zoom_level_prefs->RegisterDefaultZoomLevelCallback( |
| 815 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector, |
| 816 base::Unretained(this))); |
811 | 817 |
812 ProfileSyncService* sync_service( | 818 ProfileSyncService* sync_service( |
813 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile)); | 819 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile)); |
814 // TODO(blundell): Use a ScopedObserver to observe the PSS so that cleanup on | 820 // TODO(blundell): Use a ScopedObserver to observe the PSS so that cleanup on |
815 // destruction is automatic. | 821 // destruction is automatic. |
816 if (sync_service) | 822 if (sync_service) |
817 sync_service->AddObserver(this); | 823 sync_service->AddObserver(this); |
818 | 824 |
819 SigninManagerBase* signin_manager( | 825 SigninManagerBase* signin_manager( |
820 SigninManagerFactory::GetInstance()->GetForProfile(profile)); | 826 SigninManagerFactory::GetInstance()->GetForProfile(profile)); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
857 #endif | 863 #endif |
858 | 864 |
859 // No preferences below this point may be modified by guest profiles. | 865 // No preferences below this point may be modified by guest profiles. |
860 if (Profile::FromWebUI(web_ui())->IsGuestSession()) | 866 if (Profile::FromWebUI(web_ui())->IsGuestSession()) |
861 return; | 867 return; |
862 | 868 |
863 auto_open_files_.Init( | 869 auto_open_files_.Init( |
864 prefs::kDownloadExtensionsToOpen, prefs, | 870 prefs::kDownloadExtensionsToOpen, prefs, |
865 base::Bind(&BrowserOptionsHandler::SetupAutoOpenFileTypes, | 871 base::Bind(&BrowserOptionsHandler::SetupAutoOpenFileTypes, |
866 base::Unretained(this))); | 872 base::Unretained(this))); |
867 default_zoom_level_.Init( | |
868 prefs::kDefaultZoomLevel, prefs, | |
869 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector, | |
870 base::Unretained(this))); | |
871 profile_pref_registrar_.Init(prefs); | 873 profile_pref_registrar_.Init(prefs); |
872 profile_pref_registrar_.Add( | 874 profile_pref_registrar_.Add( |
873 prefs::kNetworkPredictionOptions, | 875 prefs::kNetworkPredictionOptions, |
874 base::Bind(&BrowserOptionsHandler::SetupNetworkPredictionControl, | 876 base::Bind(&BrowserOptionsHandler::SetupNetworkPredictionControl, |
875 base::Unretained(this))); | 877 base::Unretained(this))); |
876 profile_pref_registrar_.Add( | 878 profile_pref_registrar_.Add( |
877 prefs::kWebKitDefaultFontSize, | 879 prefs::kWebKitDefaultFontSize, |
878 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, | 880 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, |
879 base::Unretained(this))); | 881 base::Unretained(this))); |
880 profile_pref_registrar_.Add( | 882 profile_pref_registrar_.Add( |
(...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1528 pref_service->SetInteger(prefs::kWebKitDefaultFontSize, font_size); | 1530 pref_service->SetInteger(prefs::kWebKitDefaultFontSize, font_size); |
1529 SetupFontSizeSelector(); | 1531 SetupFontSizeSelector(); |
1530 } | 1532 } |
1531 } | 1533 } |
1532 } | 1534 } |
1533 | 1535 |
1534 void BrowserOptionsHandler::HandleDefaultZoomFactor( | 1536 void BrowserOptionsHandler::HandleDefaultZoomFactor( |
1535 const base::ListValue* args) { | 1537 const base::ListValue* args) { |
1536 double zoom_factor; | 1538 double zoom_factor; |
1537 if (ExtractDoubleValue(args, &zoom_factor)) { | 1539 if (ExtractDoubleValue(args, &zoom_factor)) { |
1538 default_zoom_level_.SetValue(content::ZoomFactorToZoomLevel(zoom_factor)); | 1540 Profile::FromWebUI(web_ui())->GetZoomLevelPrefs()->SetDefaultZoomLevelPref( |
| 1541 content::ZoomFactorToZoomLevel(zoom_factor)); |
1539 } | 1542 } |
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. |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 Loading... |
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 |
OLD | NEW |