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

Unified 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 side-by-side diff with in-line comments
Download patch
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);
« 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