summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authoraelias@chromium.org <aelias@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-08 22:41:48 +0000
committeraelias@chromium.org <aelias@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-08 22:41:48 +0000
commit1c0c9bc1d01dc2a4269b057bcad03bb5d40ea205 (patch)
tree2c0a3125707a2bba5512876ca8f4b8c9a2a46585 /webkit
parentf2cc6640be54ff6219830133c583470c9f55906e (diff)
downloadchromium_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.cpp6
-rw-r--r--webkit/compositor_bindings/web_compositor_support_impl.cc7
-rw-r--r--webkit/compositor_bindings/web_compositor_support_impl.h1
-rw-r--r--webkit/glue/webpreferences.cc8
-rw-r--r--webkit/glue/webpreferences.h2
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.