diff options
author | fsamuel@chromium.org <fsamuel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-13 06:55:28 +0000 |
---|---|---|
committer | fsamuel@chromium.org <fsamuel@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-13 06:55:28 +0000 |
commit | 0e934500d5642e0e3452034b93df002b24319e06 (patch) | |
tree | a95a8748978d829534548577791c5ce1183f0e24 /content | |
parent | df9dda5ef46e6d10a77755dd716f9873c07543eb (diff) | |
download | chromium_src-0e934500d5642e0e3452034b93df002b24319e06.zip chromium_src-0e934500d5642e0e3452034b93df002b24319e06.tar.gz chromium_src-0e934500d5642e0e3452034b93df002b24319e06.tar.bz2 |
Enabled scaling zoom for TOUCH_UI.
This patch depends on landing this WebKit patch first:
https://bugs.webkit.org/show_bug.cgi?id=66067
BUG=none
TEST=manually
Review URL: http://codereview.chromium.org/7619015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96694 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/renderer/render_view.cc | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/content/renderer/render_view.cc b/content/renderer/render_view.cc index 4344aba..2a8fdc2 100644 --- a/content/renderer/render_view.cc +++ b/content/renderer/render_view.cc @@ -263,6 +263,8 @@ static const int kMaximumNumberOfUnacknowledgedPopups = 25; static const char kBackForwardNavigationScheme[] = "history"; +static const float kScalingIncrement = 0.1f; + static void GetRedirectChain(WebDataSource* ds, std::vector<GURL>* result) { WebVector<WebURL> urls; ds->redirectChain(urls); @@ -3377,7 +3379,7 @@ void RenderView::OnZoom(PageZoom::Function function) { return; webview()->hidePopups(); - +#if !defined(TOUCH_UI) double old_zoom_level = webview()->zoomLevel(); double zoom_level; if (function == PageZoom::RESET) { @@ -3398,8 +3400,18 @@ void RenderView::OnZoom(PageZoom::Function function) { zoom_level = static_cast<int>(old_zoom_level); } } - webview()->setZoomLevel(false, zoom_level); +#else + double old_page_scale_factor = webview()->pageScaleFactor(); + double page_scale_factor; + if (function == PageZoom::RESET) { + page_scale_factor = 1.0; + } else { + page_scale_factor = old_page_scale_factor + + (function > 0 ? kScalingIncrement : -kScalingIncrement); + } + webview()->scalePage(page_scale_factor, WebPoint(0, 0)); +#endif zoomLevelChanged(); } |