diff options
-rw-r--r-- | chrome/browser/about_flags.cc | 16 | ||||
-rw-r--r-- | chrome/browser/tab_contents/render_view_host_delegate_helper.cc | 2 | ||||
-rw-r--r-- | chrome/common/chrome_switches.cc | 3 | ||||
-rw-r--r-- | chrome/common/chrome_switches.h | 1 | ||||
-rw-r--r-- | chrome/common/render_messages.cc | 2 | ||||
-rw-r--r-- | webkit/glue/webpreferences.cc | 21 | ||||
-rw-r--r-- | webkit/glue/webpreferences.h | 1 |
7 files changed, 35 insertions, 11 deletions
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc index fec86c4..b46a101 100644 --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc @@ -201,15 +201,13 @@ const Experiment kExperiments[] = { kOsMac, SINGLE_VALUE_TYPE(switches::kEnablePredictiveInstant) }, - // FIXME(scheib): Add Flags entry for accelerated Compositing, - // or pull it and the strings in generated_resources.grd by Dec 2010 - // { - // "gpu-compositing", - // IDS_FLAGS_ACCELERATED_COMPOSITING_NAME, - // IDS_FLAGS_ACCELERATED_COMPOSITING_DESCRIPTION, - // kOsAll, - // SINGLE_VALUE_TYPE(switches::kDisableAcceleratedCompositing) - // }, + { + "gpu-compositing", + IDS_FLAGS_ACCELERATED_COMPOSITING_NAME, + IDS_FLAGS_ACCELERATED_COMPOSITING_DESCRIPTION, + kOsAll, + SINGLE_VALUE_TYPE(switches::kEnableAcceleratedLayers) + }, { "gpu-canvas-2d", // FLAGS:RECORD_UMA IDS_FLAGS_ACCELERATED_CANVAS_2D_NAME, diff --git a/chrome/browser/tab_contents/render_view_host_delegate_helper.cc b/chrome/browser/tab_contents/render_view_host_delegate_helper.cc index 707080b3..c7f59ff 100644 --- a/chrome/browser/tab_contents/render_view_host_delegate_helper.cc +++ b/chrome/browser/tab_contents/render_view_host_delegate_helper.cc @@ -287,6 +287,8 @@ WebPreferences RenderViewHostDelegateHelper::GetWebkitPrefs( web_prefs.accelerated_2d_canvas_enabled = gpu_enabled() && command_line.HasSwitch(switches::kEnableAccelerated2dCanvas); + web_prefs.accelerated_layers_enabled = + command_line.HasSwitch(switches::kEnableAcceleratedLayers); web_prefs.memory_info_enabled = command_line.HasSwitch(switches::kEnableMemoryInfo); web_prefs.hyperlink_auditing_enabled = diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc index 33cfe75..be4e83d 100644 --- a/chrome/common/chrome_switches.cc +++ b/chrome/common/chrome_switches.cc @@ -387,6 +387,9 @@ extern const char kLogNetLog[] = "log-net-log"; // Enable gpu-accelerated 2d canvas. const char kEnableAccelerated2dCanvas[] = "enable-accelerated-2d-canvas"; +// Enables the hardware acceleration of 3D CSS, Video and animation. +const char kEnableAcceleratedLayers[] = "enable-accelerated-layers"; + // Enables WebKit accessibility within the renderer process. const char kEnableAccessibility[] = "enable-accessibility"; diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h index 26c79bf..8c3ecaf 100644 --- a/chrome/common/chrome_switches.h +++ b/chrome/common/chrome_switches.h @@ -118,6 +118,7 @@ extern const char kDnsServer[]; extern const char kDomAutomationController[]; extern const char kDumpHistogramsOnExit[]; extern const char kEnableAccelerated2dCanvas[]; +extern const char kEnableAcceleratedLayers[]; extern const char kEnableAccessibility[]; extern const char kEnableAeroPeekTabs[]; extern const char kEnableAppLauncher[]; diff --git a/chrome/common/render_messages.cc b/chrome/common/render_messages.cc index 1df6c3a..be20600 100644 --- a/chrome/common/render_messages.cc +++ b/chrome/common/render_messages.cc @@ -736,6 +736,7 @@ void ParamTraits<WebPreferences>::Write(Message* m, const param_type& p) { WriteParam(m, p.show_composited_layer_borders); WriteParam(m, p.accelerated_compositing_enabled); WriteParam(m, p.accelerated_2d_canvas_enabled); + WriteParam(m, p.accelerated_layers_enabled); WriteParam(m, p.memory_info_enabled); } @@ -786,6 +787,7 @@ bool ParamTraits<WebPreferences>::Read(const Message* m, void** iter, ReadParam(m, iter, &p->show_composited_layer_borders) && ReadParam(m, iter, &p->accelerated_compositing_enabled) && ReadParam(m, iter, &p->accelerated_2d_canvas_enabled) && + ReadParam(m, iter, &p->accelerated_layers_enabled) && ReadParam(m, iter, &p->memory_info_enabled); } 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; |