| Index: cc/trees/thread_proxy.cc
|
| diff --git a/cc/trees/thread_proxy.cc b/cc/trees/thread_proxy.cc
|
| index 4a95140226db8fd2c72da44e632ebdd880bf1f5e..1485c61e1756c4ab611242d68d19b5ea30b6f18c 100644
|
| --- a/cc/trees/thread_proxy.cc
|
| +++ b/cc/trees/thread_proxy.cc
|
| @@ -80,7 +80,9 @@ ThreadProxy::MainThreadOnly::MainThreadOnly(ThreadProxy* proxy,
|
| manage_tiles_pending(false),
|
| can_cancel_commit(true),
|
| defer_commits(false),
|
| - weak_factory(proxy) {}
|
| + host_client_finished_(false),
|
| + weak_factory(proxy) {
|
| +}
|
|
|
| ThreadProxy::MainThreadOnly::~MainThreadOnly() {}
|
|
|
| @@ -155,6 +157,10 @@ void ThreadProxy::SetLayerTreeHostClientReady() {
|
| impl_thread_weak_ptr_));
|
| }
|
|
|
| +void ThreadProxy::SetLayerTreeHostClientFinished() {
|
| + main().host_client_finished_ = true;
|
| +}
|
| +
|
| void ThreadProxy::SetLayerTreeHostClientReadyOnImplThread() {
|
| TRACE_EVENT0("cc", "ThreadProxy::SetLayerTreeHostClientReadyOnImplThread");
|
| impl().scheduler->SetCanStart();
|
| @@ -218,6 +224,9 @@ void ThreadProxy::CreateAndInitializeOutputSurface() {
|
| TRACE_EVENT0("cc", "ThreadProxy::DoCreateAndInitializeOutputSurface");
|
| DCHECK(IsMainThread());
|
|
|
| + if (main().host_client_finished_)
|
| + return;
|
| +
|
| scoped_ptr<OutputSurface> output_surface =
|
| layer_tree_host()->CreateOutputSurface();
|
|
|
|
|