| Index: content/renderer/render_view_impl.cc
|
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
|
| index 3c9e7856b210e443f9fd709b74dfd9be106912d0..3d05849ff67df16a9654c4a2238141f5bdb5fd81 100644
|
| --- a/content/renderer/render_view_impl.cc
|
| +++ b/content/renderer/render_view_impl.cc
|
| @@ -69,6 +69,7 @@
|
| #include "content/renderer/external_popup_menu.h"
|
| #include "content/renderer/geolocation_dispatcher.h"
|
| #include "content/renderer/gpu/compositor_thread.h"
|
| +#include "content/renderer/gpu/compositor_output_canvas_3d_to_2d_adapter.h"
|
| #include "content/renderer/gpu/compositor_output_surface.h"
|
| #include "content/renderer/idle_user_detector.h"
|
| #include "content/renderer/input_tag_speech_dispatcher.h"
|
| @@ -1804,9 +1805,6 @@ WebStorageNamespace* RenderViewImpl::createSessionStorageNamespace(
|
| }
|
|
|
| WebKit::WebCompositorOutputSurface* RenderViewImpl::createOutputSurface() {
|
| - // TODO(aelias): if force-software-mode is on, create an output surface
|
| - // without a 3D context.
|
| -
|
| // Explicitly disable antialiasing for the compositor. As of the time of
|
| // this writing, the only platform that supported antialiasing for the
|
| // compositor was Mac OS X, because the on-screen OpenGL context creation
|
| @@ -1824,7 +1822,15 @@ WebKit::WebCompositorOutputSurface* RenderViewImpl::createOutputSurface() {
|
| if (!context)
|
| return NULL;
|
|
|
| - return new CompositorOutputSurface(routing_id(), context);
|
| + const CommandLine& command_line = *CommandLine::ForCurrentProcess();
|
| + if (command_line.HasSwitch(switches::kForceSoftwareCompositing)) {
|
| + // Until we get a software-based delegating renderer, use this stopgap
|
| + // adapter class to present the software renderer output using a 3d
|
| + // context.
|
| + return new CompositorOutputSurface(routing_id(), NULL,
|
| + new CompositorOutputCanvas3DTo2DAdapter(context));
|
| + } else
|
| + return new CompositorOutputSurface(routing_id(), context, NULL);
|
| }
|
|
|
| void RenderViewImpl::didAddMessageToConsole(
|
|
|