| Index: content/renderer/render_widget.cc
|
| diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
|
| index 593b43b3c114da7cc14be112db161e2b7d28bd26..b540e9ddf37dca564475499368fa7a4fc477352a 100644
|
| --- a/content/renderer/render_widget.cc
|
| +++ b/content/renderer/render_widget.cc
|
| @@ -61,6 +61,7 @@
|
| #include "webkit/renderer/compositor_bindings/web_rendering_stats_impl.h"
|
|
|
| #if defined(OS_ANDROID)
|
| +#include "content/renderer/android/synchronous_compositor_impl.h"
|
| #include "content/renderer/android/synchronous_compositor_output_surface.h"
|
| #endif
|
|
|
| @@ -585,12 +586,9 @@ bool RenderWidget::ForceCompositingModeEnabled() {
|
| scoped_ptr<cc::OutputSurface> RenderWidget::CreateOutputSurface() {
|
| const CommandLine& command_line = *CommandLine::ForCurrentProcess();
|
|
|
| -#if defined(OS_ANDROID)
|
| - if (command_line.HasSwitch(switches::kEnableSynchronousRendererCompositor)) {
|
| - return scoped_ptr<cc::OutputSurface>(
|
| - new SynchronousCompositorOutputSurface(routing_id()));
|
| + if (GetSynchronousCompositor()) {
|
| + return GetSynchronousCompositor()->CreateOutputSurface();
|
| }
|
| -#endif
|
|
|
| if (command_line.HasSwitch(switches::kEnableSoftwareCompositingGLAdapter)) {
|
| return scoped_ptr<cc::OutputSurface>(
|
| @@ -631,6 +629,18 @@ scoped_ptr<cc::OutputSurface> RenderWidget::CreateOutputSurface() {
|
| new CompositorOutputSurface(routing_id(), context, NULL));
|
| }
|
|
|
| +SynchronousCompositorImpl* RenderWidget::GetSynchronousCompositor() {
|
| +#if defined(OS_ANDROID)
|
| + const CommandLine& command_line = *CommandLine::ForCurrentProcess();
|
| + if (command_line.HasSwitch(switches::kEnableSynchronousRendererCompositor)) {
|
| + synchronous_compositor_.reset(new SynchronousCompositorImpl(routing_id()));
|
| + }
|
| + return synchronous_compositor_.get();
|
| +#else
|
| + return NULL;
|
| +#endif
|
| +}
|
| +
|
| void RenderWidget::OnViewContextSwapBuffersAborted() {
|
| TRACE_EVENT0("renderer", "RenderWidget::OnSwapBuffersAborted");
|
| while (!updates_pending_swap_.empty()) {
|
|
|