| 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 780 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 DCHECK(zoom_level_prefs); |
| 803 default_zoom_level_subscription_ = |
| 804 zoom_level_prefs->RegisterDefaultZoomLevelCallback( |
| 805 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector, |
| 806 base::Unretained(this))); |
| 801 | 807 |
| 802 ProfileSyncService* sync_service( | 808 ProfileSyncService* sync_service( |
| 803 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile)); | 809 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile)); |
| 804 // TODO(blundell): Use a ScopedObserver to observe the PSS so that cleanup on | 810 // TODO(blundell): Use a ScopedObserver to observe the PSS so that cleanup on |
| 805 // destruction is automatic. | 811 // destruction is automatic. |
| 806 if (sync_service) | 812 if (sync_service) |
| 807 sync_service->AddObserver(this); | 813 sync_service->AddObserver(this); |
| 808 | 814 |
| 809 SigninManagerBase* signin_manager( | 815 SigninManagerBase* signin_manager( |
| 810 SigninManagerFactory::GetInstance()->GetForProfile(profile)); | 816 SigninManagerFactory::GetInstance()->GetForProfile(profile)); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 847 #endif | 853 #endif |
| 848 | 854 |
| 849 // No preferences below this point may be modified by guest profiles. | 855 // No preferences below this point may be modified by guest profiles. |
| 850 if (Profile::FromWebUI(web_ui())->IsGuestSession()) | 856 if (Profile::FromWebUI(web_ui())->IsGuestSession()) |
| 851 return; | 857 return; |
| 852 | 858 |
| 853 auto_open_files_.Init( | 859 auto_open_files_.Init( |
| 854 prefs::kDownloadExtensionsToOpen, prefs, | 860 prefs::kDownloadExtensionsToOpen, prefs, |
| 855 base::Bind(&BrowserOptionsHandler::SetupAutoOpenFileTypes, | 861 base::Bind(&BrowserOptionsHandler::SetupAutoOpenFileTypes, |
| 856 base::Unretained(this))); | 862 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); | 863 profile_pref_registrar_.Init(prefs); |
| 862 profile_pref_registrar_.Add( | 864 profile_pref_registrar_.Add( |
| 863 prefs::kNetworkPredictionOptions, | 865 prefs::kNetworkPredictionOptions, |
| 864 base::Bind(&BrowserOptionsHandler::SetupNetworkPredictionControl, | 866 base::Bind(&BrowserOptionsHandler::SetupNetworkPredictionControl, |
| 865 base::Unretained(this))); | 867 base::Unretained(this))); |
| 866 profile_pref_registrar_.Add( | 868 profile_pref_registrar_.Add( |
| 867 prefs::kWebKitDefaultFontSize, | 869 prefs::kWebKitDefaultFontSize, |
| 868 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, | 870 base::Bind(&BrowserOptionsHandler::SetupFontSizeSelector, |
| 869 base::Unretained(this))); | 871 base::Unretained(this))); |
| 870 profile_pref_registrar_.Add( | 872 profile_pref_registrar_.Add( |
| (...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1518 pref_service->SetInteger(prefs::kWebKitDefaultFontSize, font_size); | 1520 pref_service->SetInteger(prefs::kWebKitDefaultFontSize, font_size); |
| 1519 SetupFontSizeSelector(); | 1521 SetupFontSizeSelector(); |
| 1520 } | 1522 } |
| 1521 } | 1523 } |
| 1522 } | 1524 } |
| 1523 | 1525 |
| 1524 void BrowserOptionsHandler::HandleDefaultZoomFactor( | 1526 void BrowserOptionsHandler::HandleDefaultZoomFactor( |
| 1525 const base::ListValue* args) { | 1527 const base::ListValue* args) { |
| 1526 double zoom_factor; | 1528 double zoom_factor; |
| 1527 if (ExtractDoubleValue(args, &zoom_factor)) { | 1529 if (ExtractDoubleValue(args, &zoom_factor)) { |
| 1528 default_zoom_level_.SetValue(content::ZoomFactorToZoomLevel(zoom_factor)); | 1530 Profile::FromWebUI(web_ui())->GetZoomLevelPrefs()->SetDefaultZoomLevelPref( |
| 1531 content::ZoomFactorToZoomLevel(zoom_factor)); |
| 1529 } | 1532 } |
| 1530 } | 1533 } |
| 1531 | 1534 |
| 1532 void BrowserOptionsHandler::HandleRestartBrowser(const base::ListValue* args) { | 1535 void BrowserOptionsHandler::HandleRestartBrowser(const base::ListValue* args) { |
| 1533 #if defined(OS_WIN) && defined(USE_ASH) | 1536 #if defined(OS_WIN) && defined(USE_ASH) |
| 1534 // If hardware acceleration is disabled then we need to force restart | 1537 // If hardware acceleration is disabled then we need to force restart |
| 1535 // browser in desktop mode. | 1538 // browser in desktop mode. |
| 1536 // TODO(shrikant): Remove this once we fix start mode logic for browser. | 1539 // TODO(shrikant): Remove this once we fix start mode logic for browser. |
| 1537 // Currently there are issues with determining correct browser mode | 1540 // Currently there are issues with determining correct browser mode |
| 1538 // at startup. | 1541 // at startup. |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1775 dict.SetString("controlledBy", "policy"); | 1778 dict.SetString("controlledBy", "policy"); |
| 1776 } else if (default_font_size->IsExtensionControlled() || | 1779 } else if (default_font_size->IsExtensionControlled() || |
| 1777 default_fixed_font_size->IsExtensionControlled()) { | 1780 default_fixed_font_size->IsExtensionControlled()) { |
| 1778 dict.SetString("controlledBy", "extension"); | 1781 dict.SetString("controlledBy", "extension"); |
| 1779 } | 1782 } |
| 1780 | 1783 |
| 1781 web_ui()->CallJavascriptFunction("BrowserOptions.setFontSize", dict); | 1784 web_ui()->CallJavascriptFunction("BrowserOptions.setFontSize", dict); |
| 1782 } | 1785 } |
| 1783 | 1786 |
| 1784 void BrowserOptionsHandler::SetupPageZoomSelector() { | 1787 void BrowserOptionsHandler::SetupPageZoomSelector() { |
| 1785 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); | 1788 double default_zoom_level = |
| 1786 double default_zoom_level = pref_service->GetDouble(prefs::kDefaultZoomLevel); | 1789 content::HostZoomMap::GetDefaultForBrowserContext( |
| 1790 Profile::FromWebUI(web_ui()))->GetDefaultZoomLevel(); |
| 1787 double default_zoom_factor = | 1791 double default_zoom_factor = |
| 1788 content::ZoomLevelToZoomFactor(default_zoom_level); | 1792 content::ZoomLevelToZoomFactor(default_zoom_level); |
| 1789 | 1793 |
| 1790 // Generate a vector of zoom factors from an array of known presets along with | 1794 // Generate a vector of zoom factors from an array of known presets along with |
| 1791 // the default factor added if necessary. | 1795 // the default factor added if necessary. |
| 1792 std::vector<double> zoom_factors = | 1796 std::vector<double> zoom_factors = |
| 1793 chrome_page_zoom::PresetZoomFactors(default_zoom_factor); | 1797 chrome_page_zoom::PresetZoomFactors(default_zoom_factor); |
| 1794 | 1798 |
| 1795 // Iterate through the zoom factors and and build the contents of the | 1799 // Iterate through the zoom factors and and build the contents of the |
| 1796 // selector that will be sent to the javascript handler. | 1800 // selector that will be sent to the javascript handler. |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1966 | 1970 |
| 1967 void BrowserOptionsHandler::SetMetricsReportingCheckbox(bool checked, | 1971 void BrowserOptionsHandler::SetMetricsReportingCheckbox(bool checked, |
| 1968 bool disabled) { | 1972 bool disabled) { |
| 1969 web_ui()->CallJavascriptFunction( | 1973 web_ui()->CallJavascriptFunction( |
| 1970 "BrowserOptions.setMetricsReportingCheckboxState", | 1974 "BrowserOptions.setMetricsReportingCheckboxState", |
| 1971 base::FundamentalValue(checked), | 1975 base::FundamentalValue(checked), |
| 1972 base::FundamentalValue(disabled)); | 1976 base::FundamentalValue(disabled)); |
| 1973 } | 1977 } |
| 1974 | 1978 |
| 1975 } // namespace options | 1979 } // namespace options |
| OLD | NEW |