Index: trunk/src/cc/trees/single_thread_proxy.cc |
=================================================================== |
--- trunk/src/cc/trees/single_thread_proxy.cc (revision 238469) |
+++ trunk/src/cc/trees/single_thread_proxy.cc (working copy) |
@@ -44,9 +44,11 @@ |
<< "Threaded compositing must be enabled to use impl-side painting."; |
} |
-void SingleThreadProxy::Start() { |
+void SingleThreadProxy::Start(scoped_ptr<OutputSurface> first_output_surface) { |
+ DCHECK(first_output_surface); |
DebugScopedSetImplThread impl(this); |
layer_tree_host_impl_ = layer_tree_host_->CreateLayerTreeHostImpl(this); |
+ first_output_surface_ = first_output_surface.Pass(); |
} |
SingleThreadProxy::~SingleThreadProxy() { |
@@ -111,8 +113,9 @@ |
"cc", "SingleThreadProxy::CreateAndInitializeOutputSurface"); |
DCHECK(Proxy::IsMainThread()); |
- scoped_ptr<OutputSurface> output_surface = |
- layer_tree_host_->CreateOutputSurface(); |
+ scoped_ptr<OutputSurface> output_surface = first_output_surface_.Pass(); |
+ if (!output_surface) |
+ output_surface = layer_tree_host_->CreateOutputSurface(); |
if (!output_surface) { |
OnOutputSurfaceInitializeAttempted(false); |
return; |