dom-ui settings: Add setting for detault zoom level.
BUG=11321
TEST=Exercise the default zoom level setting in the 'Under the hood' panel.
Review URL: http://codereview.chromium.org/3807001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63702 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/tab_contents/tab_contents.cc b/chrome/browser/tab_contents/tab_contents.cc
index c7e68ea..2624094 100644
--- a/chrome/browser/tab_contents/tab_contents.cc
+++ b/chrome/browser/tab_contents/tab_contents.cc
@@ -167,6 +167,7 @@
// The list of prefs we want to observe.
const char* kPrefsToObserve[] = {
prefs::kAlternateErrorPagesEnabled,
+ prefs::kDefaultZoomLevel,
prefs::kWebKitJavaEnabled,
prefs::kWebKitJavascriptEnabled,
prefs::kWebKitLoadsImagesAutomatically,
@@ -1465,12 +1466,10 @@
hs->SetPageTitle(entry.virtual_url(), entry.title());
}
-int TabContents::GetZoomPercent(bool* enable_increment,
- bool* enable_decrement) {
- *enable_decrement = *enable_increment = false;
+double TabContents::GetZoomLevel() const {
HostZoomMap* zoom_map = profile()->GetHostZoomMap();
if (!zoom_map)
- return 100;
+ return 0;
double zoom_level;
if (temporary_zoom_settings_) {
@@ -1479,9 +1478,14 @@
} else {
zoom_level = zoom_map->GetZoomLevel(GetURL());
}
+ return zoom_level;
+}
+int TabContents::GetZoomPercent(bool* enable_increment,
+ bool* enable_decrement) {
+ *enable_decrement = *enable_increment = false;
int percent = static_cast<int>(
- WebKit::WebView::zoomLevelToZoomFactor(zoom_level) * 100);
+ WebKit::WebView::zoomLevelToZoomFactor(GetZoomLevel()) * 100);
*enable_decrement = percent > minimum_zoom_percent_;
*enable_increment = percent < maximum_zoom_percent_;
return percent;
@@ -1759,6 +1763,10 @@
render_view_host()->UpdateWebPreferences(GetWebkitPrefs());
}
+void TabContents::UpdateZoomLevel() {
+ render_view_host()->SetZoomLevel(GetZoomLevel());
+}
+
void TabContents::UpdateMaxPageIDIfNecessary(SiteInstance* site_instance,
RenderViewHost* rvh) {
// If we are creating a RVH for a restored controller, then we might
@@ -3081,6 +3089,8 @@
} else if ((*pref_name_in == prefs::kDefaultCharset) ||
StartsWithASCII(*pref_name_in, "webkit.webprefs.", true)) {
UpdateWebPreferences();
+ } else if (*pref_name_in == prefs::kDefaultZoomLevel) {
+ UpdateZoomLevel();
} else {
NOTREACHED() << "unexpected pref change notification" << *pref_name_in;
}