| Index: cc/trees/single_thread_proxy.cc
|
| diff --git a/cc/trees/single_thread_proxy.cc b/cc/trees/single_thread_proxy.cc
|
| index 85085ab3f8ad503e5cc1b9479c4e582bb6021fe2..57f3557e0f5de49b8cd875f9694329b6d80abc2b 100644
|
| --- a/cc/trees/single_thread_proxy.cc
|
| +++ b/cc/trees/single_thread_proxy.cc
|
| @@ -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;
|
|
|