summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
Diffstat (limited to 'webkit')
-rw-r--r--webkit/glue/webpreferences.cc21
-rw-r--r--webkit/glue/webpreferences.h1
2 files changed, 20 insertions, 2 deletions
diff --git a/webkit/glue/webpreferences.cc b/webkit/glue/webpreferences.cc
index 0688f25..afc39bd 100644
--- a/webkit/glue/webpreferences.cc
+++ b/webkit/glue/webpreferences.cc
@@ -63,6 +63,7 @@ WebPreferences::WebPreferences()
experimental_webgl_enabled(false),
show_composited_layer_borders(false),
accelerated_compositing_enabled(false),
+ accelerated_layers_enabled(false),
accelerated_2d_canvas_enabled(false),
memory_info_enabled(false) {
}
@@ -140,8 +141,9 @@ void WebPreferences::Apply(WebView* web_view) const {
// Enable experimental WebGL support if requested on command line
// and support is compiled in.
- settings->setExperimentalWebGLEnabled(
- WebRuntimeFeatures::isWebGLEnabled() || experimental_webgl_enabled);
+ bool enable_webgl =
+ WebRuntimeFeatures::isWebGLEnabled() || experimental_webgl_enabled;
+ settings->setExperimentalWebGLEnabled(enable_webgl);
// Display colored borders around composited render layers if requested
// on command line.
@@ -153,6 +155,21 @@ void WebPreferences::Apply(WebView* web_view) const {
// Enable gpu-accelerated 2d canvas if requested on the command line.
settings->setAccelerated2dCanvasEnabled(accelerated_2d_canvas_enabled);
+ // Enabling accelerated layers from the command line enabled accelerated
+ // 3D CSS, Video, Plugins, and Animations.
+ settings->setAcceleratedCompositingFor3DTransformsEnabled(
+ accelerated_layers_enabled);
+ settings->setAcceleratedCompositingForVideoEnabled(
+ accelerated_layers_enabled);
+ settings->setAcceleratedCompositingForPluginsEnabled(
+ accelerated_layers_enabled);
+ settings->setAcceleratedCompositingForAnimationEnabled(
+ accelerated_layers_enabled);
+
+ // WebGL and accelerated 2D canvas are always gpu composited.
+ settings->setAcceleratedCompositingForCanvasEnabled(
+ enable_webgl || accelerated_2d_canvas_enabled);
+
// Enable memory info reporting to page if requested on the command line.
settings->setMemoryInfoEnabled(memory_info_enabled);
diff --git a/webkit/glue/webpreferences.h b/webkit/glue/webpreferences.h
index 2f765b2..6cb8044 100644
--- a/webkit/glue/webpreferences.h
+++ b/webkit/glue/webpreferences.h
@@ -67,6 +67,7 @@ struct WebPreferences {
bool experimental_webgl_enabled;
bool show_composited_layer_borders;
bool accelerated_compositing_enabled;
+ bool accelerated_layers_enabled;
bool accelerated_2d_canvas_enabled;
bool memory_info_enabled;