diff options
author | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-08 01:23:38 +0000 |
---|---|---|
committer | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-08 01:23:38 +0000 |
commit | 555e75d02851c9e8ed138f49a6b254dfcac8c1c5 (patch) | |
tree | 685061ba27a9cc11e53096357f9450e06f7dbd83 | |
parent | 19cd4eb279d4ef9985d1cee3cf2a99fd20d61f14 (diff) | |
download | chromium_src-555e75d02851c9e8ed138f49a6b254dfcac8c1c5.zip chromium_src-555e75d02851c9e8ed138f49a6b254dfcac8c1c5.tar.gz chromium_src-555e75d02851c9e8ed138f49a6b254dfcac8c1c5.tar.bz2 |
Add command line switch for enabling threaded compositing
This is a patch against the patch in http://codereview.chromium.org/8139020/
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8163008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104623 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | build/common.gypi | 3 | ||||
-rw-r--r-- | chrome/browser/tab_contents/render_view_host_delegate_helper.cc | 2 | ||||
-rw-r--r-- | content/browser/renderer_host/browser_render_process_host.cc | 1 | ||||
-rw-r--r-- | content/common/content_switches.cc | 3 | ||||
-rw-r--r-- | content/common/content_switches.h | 1 | ||||
-rw-r--r-- | content/common/view_messages.h | 1 | ||||
-rw-r--r-- | content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h | 3 | ||||
-rw-r--r-- | content/renderer/render_view.cc | 3 | ||||
-rw-r--r-- | webkit/glue/webpreferences.cc | 3 | ||||
-rw-r--r-- | webkit/glue/webpreferences.h | 1 |
10 files changed, 16 insertions, 5 deletions
diff --git a/build/common.gypi b/build/common.gypi index f3c8f13..1d3c3aa 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -970,9 +970,6 @@ ['remoting==1', { 'defines': ['ENABLE_REMOTING=1'], }], - ['use_threaded_compositing==1', { - 'defines': ['WTF_USE_THREADED_COMPOSITING'], - }], ['p2p_apis==1', { 'defines': ['ENABLE_P2P_APIS=1'], }], 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 a494d4d..5163ca8 100644 --- a/chrome/browser/tab_contents/render_view_host_delegate_helper.cc +++ b/chrome/browser/tab_contents/render_view_host_delegate_helper.cc @@ -443,6 +443,8 @@ WebPreferences RenderViewHostDelegateHelper::GetWebkitPrefs( web_prefs.accelerated_compositing_enabled = GpuProcessHost::gpu_enabled() && !command_line.HasSwitch(switches::kDisableAcceleratedCompositing); + web_prefs.threaded_compositing_enabled = + command_line.HasSwitch(switches::kEnableThreadedCompositing); web_prefs.force_compositing_mode = command_line.HasSwitch(switches::kForceCompositingMode); web_prefs.allow_webui_compositing = diff --git a/content/browser/renderer_host/browser_render_process_host.cc b/content/browser/renderer_host/browser_render_process_host.cc index 3215320..4f3e515 100644 --- a/content/browser/renderer_host/browser_render_process_host.cc +++ b/content/browser/renderer_host/browser_render_process_host.cc @@ -574,6 +574,7 @@ void BrowserRenderProcessHost::PropagateBrowserCommandLineToRenderer( #endif switches::kEnableSeccompSandbox, switches::kEnableStatsTable, + switches::kEnableThreadedCompositing, switches::kEnableVideoFullscreen, switches::kEnableVideoLogging, switches::kFullMemoryCrashReport, diff --git a/content/common/content_switches.cc b/content/common/content_switches.cc index 8811f69..2b656d9 100644 --- a/content/common/content_switches.cc +++ b/content/common/content_switches.cc @@ -227,6 +227,9 @@ const char kEnableSeccompSandbox[] = "enable-seccomp-sandbox"; // Enables StatsTable, logging statistics to a global named shared memory table. const char kEnableStatsTable[] = "enable-stats-table"; +// Enable multithreaded GPU compositing of web content. +const char kEnableThreadedCompositing[] = "enable-threaded-compositing"; + // Enable use of experimental TCP sockets API for sending data in the // SYN packet. const char kEnableTcpFastOpen[] = "enable-tcp-fastopen"; diff --git a/content/common/content_switches.h b/content/common/content_switches.h index adb170f..2f8eed1 100644 --- a/content/common/content_switches.h +++ b/content/common/content_switches.h @@ -80,6 +80,7 @@ extern const char kEnableSSLCachedInfo[]; extern const char kEnableSandboxLogging[]; extern const char kEnableSeccompSandbox[]; CONTENT_EXPORT extern const char kEnableStatsTable[]; +CONTENT_EXPORT extern const char kEnableThreadedCompositing[]; CONTENT_EXPORT extern const char kEnableTcpFastOpen[]; extern const char kEnableVideoFullscreen[]; extern const char kEnableVideoLogging[]; diff --git a/content/common/view_messages.h b/content/common/view_messages.h index 24be5ef..e8dea34 100644 --- a/content/common/view_messages.h +++ b/content/common/view_messages.h @@ -228,6 +228,7 @@ IPC_STRUCT_TRAITS_BEGIN(WebPreferences) IPC_STRUCT_TRAITS_MEMBER(show_composited_layer_tree) IPC_STRUCT_TRAITS_MEMBER(show_fps_counter) IPC_STRUCT_TRAITS_MEMBER(accelerated_compositing_enabled) + IPC_STRUCT_TRAITS_MEMBER(threaded_compositing_enabled) IPC_STRUCT_TRAITS_MEMBER(force_compositing_mode) IPC_STRUCT_TRAITS_MEMBER(allow_webui_compositing) IPC_STRUCT_TRAITS_MEMBER(composite_to_texture_enabled) diff --git a/content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h b/content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h index c1265f1..a7b803a 100644 --- a/content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h +++ b/content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h @@ -464,10 +464,9 @@ class WebGraphicsContext3DCommandBufferImpl int32 render_view_routing_id_; bool render_directly_to_web_view_; -#ifndef WTF_USE_THREADED_COMPOSITING // If rendering directly to WebView, weak pointer to it. WebKit::WebView* web_view_; -#endif + #if defined(OS_MACOSX) // "Fake" plugin window handle in browser process for the compositor's output. gfx::PluginWindowHandle plugin_handle_; diff --git a/content/renderer/render_view.cc b/content/renderer/render_view.cc index a9bcb65..bb518ef 100644 --- a/content/renderer/render_view.cc +++ b/content/renderer/render_view.cc @@ -4001,6 +4001,9 @@ void RenderView::OnWasRestored(bool needs_repainting) { } bool RenderView::SupportsAsynchronousSwapBuffers() { + if (WebWidgetHandlesCompositorScheduling()) + return false; + WebKit::WebGraphicsContext3D* context = webview()->graphicsContext3D(); if (!context) return false; diff --git a/webkit/glue/webpreferences.cc b/webkit/glue/webpreferences.cc index 08fd7db..a554137 100644 --- a/webkit/glue/webpreferences.cc +++ b/webkit/glue/webpreferences.cc @@ -74,6 +74,7 @@ WebPreferences::WebPreferences() show_fps_counter(false), asynchronous_spell_checking_enabled(true), accelerated_compositing_enabled(false), + threaded_compositing_enabled(false), force_compositing_mode(false), allow_webui_compositing(false), composite_to_texture_enabled(false), @@ -249,6 +250,8 @@ void WebPreferences::Apply(WebView* web_view) const { // Enable gpu-accelerated compositing if requested on the command line. settings->setAcceleratedCompositingEnabled(accelerated_compositing_enabled); + settings->setUseThreadedCompositor(threaded_compositing_enabled); + // Always enter compositing if requested on the command line. settings->setForceCompositingMode(force_compositing_mode); diff --git a/webkit/glue/webpreferences.h b/webkit/glue/webpreferences.h index 927c18c..6634c1d 100644 --- a/webkit/glue/webpreferences.h +++ b/webkit/glue/webpreferences.h @@ -88,6 +88,7 @@ struct WebPreferences { bool show_fps_counter; bool asynchronous_spell_checking_enabled; bool accelerated_compositing_enabled; + bool threaded_compositing_enabled; bool force_compositing_mode; bool allow_webui_compositing; bool composite_to_texture_enabled; |