| Index: chrome/browser/ui/webui/options/browser_options_handler.cc
|
| diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc
|
| index 9a1d6d78e7a02158e8f93e82f50b0f97b04f60cc..b8cf8c189fb42dcd109f0ea946ab1fb7d71f5698 100644
|
| --- a/chrome/browser/ui/webui/options/browser_options_handler.cc
|
| +++ b/chrome/browser/ui/webui/options/browser_options_handler.cc
|
| @@ -798,6 +798,18 @@ void BrowserOptionsHandler::PageLoadStarted() {
|
| void BrowserOptionsHandler::InitializeHandler() {
|
| Profile* profile = Profile::FromWebUI(web_ui());
|
| PrefService* prefs = profile->GetPrefs();
|
| + chrome::ChromeZoomLevelPrefs* zoom_level_prefs = profile->GetZoomLevelPrefs();
|
| + // Only regular profiles are able to edit default zoom level, or delete per-
|
| + // host zoom levels, via the settings menu. We only require a zoom_level_prefs
|
| + // if the profile is able to change these preference types.
|
| + DCHECK(zoom_level_prefs ||
|
| + profile->GetProfileType() != Profile::REGULAR_PROFILE);
|
| + if (zoom_level_prefs) {
|
| + default_zoom_level_subscription_ =
|
| + zoom_level_prefs->RegisterDefaultZoomLevelCallback(
|
| + base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector,
|
| + base::Unretained(this)));
|
| + }
|
|
|
| ProfileSyncService* sync_service(
|
| ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile));
|
| @@ -854,10 +866,6 @@ void BrowserOptionsHandler::InitializeHandler() {
|
| prefs::kDownloadExtensionsToOpen, prefs,
|
| base::Bind(&BrowserOptionsHandler::SetupAutoOpenFileTypes,
|
| base::Unretained(this)));
|
| - default_zoom_level_.Init(
|
| - prefs::kDefaultZoomLevel, prefs,
|
| - base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector,
|
| - base::Unretained(this)));
|
| profile_pref_registrar_.Init(prefs);
|
| profile_pref_registrar_.Add(
|
| prefs::kNetworkPredictionOptions,
|
| @@ -1525,7 +1533,8 @@ void BrowserOptionsHandler::HandleDefaultZoomFactor(
|
| const base::ListValue* args) {
|
| double zoom_factor;
|
| if (ExtractDoubleValue(args, &zoom_factor)) {
|
| - default_zoom_level_.SetValue(content::ZoomFactorToZoomLevel(zoom_factor));
|
| + Profile::FromWebUI(web_ui())->GetZoomLevelPrefs()->SetDefaultZoomLevelPref(
|
| + content::ZoomFactorToZoomLevel(zoom_factor));
|
| }
|
| }
|
|
|
| @@ -1782,8 +1791,9 @@ void BrowserOptionsHandler::SetupFontSizeSelector() {
|
| }
|
|
|
| void BrowserOptionsHandler::SetupPageZoomSelector() {
|
| - PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs();
|
| - double default_zoom_level = pref_service->GetDouble(prefs::kDefaultZoomLevel);
|
| + double default_zoom_level =
|
| + content::HostZoomMap::GetDefaultForBrowserContext(
|
| + Profile::FromWebUI(web_ui()))->GetDefaultZoomLevel();
|
| double default_zoom_factor =
|
| content::ZoomLevelToZoomFactor(default_zoom_level);
|
|
|
|
|