diff options
author | aelias@chromium.org <aelias@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-08 22:41:48 +0000 |
---|---|---|
committer | aelias@chromium.org <aelias@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-08 22:41:48 +0000 |
commit | 1c0c9bc1d01dc2a4269b057bcad03bb5d40ea205 (patch) | |
tree | 2c0a3125707a2bba5512876ca8f4b8c9a2a46585 /webkit | |
parent | f2cc6640be54ff6219830133c583470c9f55906e (diff) | |
download | chromium_src-1c0c9bc1d01dc2a4269b057bcad03bb5d40ea205.zip chromium_src-1c0c9bc1d01dc2a4269b057bcad03bb5d40ea205.tar.gz chromium_src-1c0c9bc1d01dc2a4269b057bcad03bb5d40ea205.tar.bz2 |
Pinch-zoom applied via compositor instead of CSS transformation.
This is a rebased version of twiz's patch in 10916279.
Corresponding WK change: https://bugs.webkit.org/show_bug.cgi?id=93292
BUG=148816
Review URL: https://chromiumcodereview.appspot.com/11094004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160730 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/compositor_bindings/WebCompositorImpl.cpp | 6 | ||||
-rw-r--r-- | webkit/compositor_bindings/web_compositor_support_impl.cc | 7 | ||||
-rw-r--r-- | webkit/compositor_bindings/web_compositor_support_impl.h | 1 | ||||
-rw-r--r-- | webkit/glue/webpreferences.cc | 8 | ||||
-rw-r--r-- | webkit/glue/webpreferences.h | 2 |
5 files changed, 23 insertions, 1 deletions
diff --git a/webkit/compositor_bindings/WebCompositorImpl.cpp b/webkit/compositor_bindings/WebCompositorImpl.cpp index 270e90a..1b7d831 100644 --- a/webkit/compositor_bindings/WebCompositorImpl.cpp +++ b/webkit/compositor_bindings/WebCompositorImpl.cpp @@ -63,6 +63,12 @@ void WebCompositor::setAcceleratedAnimationEnabled(bool enabled) CCSettings::setAcceleratedAnimationEnabled(enabled); } +void WebCompositor::setPageScalePinchZoomEnabled(bool enabled) +{ + ASSERT(!WebCompositorImpl::initialized()); + CCSettings::setPageScalePinchZoomEnabled(enabled); +} + void WebCompositorImpl::initialize(WebThread* implThread) { ASSERT(!s_initialized); diff --git a/webkit/compositor_bindings/web_compositor_support_impl.cc b/webkit/compositor_bindings/web_compositor_support_impl.cc index 9c7a1fa..f63863e 100644 --- a/webkit/compositor_bindings/web_compositor_support_impl.cc +++ b/webkit/compositor_bindings/web_compositor_support_impl.cc @@ -121,6 +121,13 @@ void WebCompositorSupportImpl::setAcceleratedAnimationEnabled(bool enabled) { #endif } +void WebCompositorSupportImpl::setPageScalePinchZoomEnabled(bool enabled) { +#if defined(USE_LIBCC_FOR_COMPOSITOR) + WebCompositorImpl::setPageScalePinchZoomEnabled(enabled); +#else + WebCompositor::setPageScalePinchZoomEnabled(enabled); +#endif +} WebLayerTreeView* WebCompositorSupportImpl::createLayerTreeView( WebLayerTreeViewClient* client, const WebLayer& root, diff --git a/webkit/compositor_bindings/web_compositor_support_impl.h b/webkit/compositor_bindings/web_compositor_support_impl.h index f532326..ac7e276 100644 --- a/webkit/compositor_bindings/web_compositor_support_impl.h +++ b/webkit/compositor_bindings/web_compositor_support_impl.h @@ -21,6 +21,7 @@ class WebCompositorSupportImpl : public WebKit::WebCompositorSupport { virtual void setPerTilePaintingEnabled(bool enabled); virtual void setPartialSwapEnabled(bool enabled); virtual void setAcceleratedAnimationEnabled(bool enabled); + virtual void setPageScalePinchZoomEnabled(bool enabled); virtual WebKit::WebLayerTreeView* createLayerTreeView( WebKit::WebLayerTreeViewClient* client, const WebKit::WebLayer& root, const WebKit::WebLayerTreeView::Settings& settings); diff --git a/webkit/glue/webpreferences.cc b/webkit/glue/webpreferences.cc index cc0ac58..07b3300 100644 --- a/webkit/glue/webpreferences.cc +++ b/webkit/glue/webpreferences.cc @@ -120,7 +120,8 @@ WebPreferences::WebPreferences() fixed_position_creates_stacking_context(false), sync_xhr_in_documents_enabled(true), number_of_cpu_cores(1), - cookie_enabled(true) { + cookie_enabled(true), + apply_page_scale_factor_in_compositor(false) { standard_font_family_map[kCommonScript] = ASCIIToUTF16("Times New Roman"); fixed_font_family_map[kCommonScript] = @@ -249,6 +250,8 @@ void WebPreferences::Apply(WebView* web_view) const { settings->setDefaultTextEncodingName(ASCIIToUTF16(default_encoding)); settings->setApplyDefaultDeviceScaleFactorInCompositor( apply_default_device_scale_factor_in_compositor); + settings->setApplyPageScaleFactorInCompositor( + apply_page_scale_factor_in_compositor); settings->setJavaScriptEnabled(javascript_enabled); settings->setWebSecurityEnabled(web_security_enabled); settings->setJavaScriptCanOpenWindowsAutomatically( @@ -434,6 +437,9 @@ void WebPreferences::Apply(WebView* web_view) const { settings->setFixedPositionCreatesStackingContext( fixed_position_creates_stacking_context); + settings->setApplyPageScaleFactorInCompositor( + apply_page_scale_factor_in_compositor); + WebNetworkStateNotifier::setOnLine(is_online); } diff --git a/webkit/glue/webpreferences.h b/webkit/glue/webpreferences.h index fd92f65..943ae3d 100644 --- a/webkit/glue/webpreferences.h +++ b/webkit/glue/webpreferences.h @@ -146,6 +146,8 @@ struct WEBKIT_GLUE_EXPORT WebPreferences { // without raising a DOM security exception. bool cookie_enabled; + bool apply_page_scale_factor_in_compositor; + // We try to keep the default values the same as the default values in // chrome, except for the cases where it would require lots of extra work for // the embedder to use the same default value. |