| Index: cc/trees/single_thread_proxy.cc
|
| diff --git a/cc/trees/single_thread_proxy.cc b/cc/trees/single_thread_proxy.cc
|
| index 56d244c41301e10ff3c18394a554b065c8519501..dfce8088d18ac248bfef847f62a4ac35231bc3ac 100644
|
| --- a/cc/trees/single_thread_proxy.cc
|
| +++ b/cc/trees/single_thread_proxy.cc
|
| @@ -90,7 +90,6 @@
|
| if (layer_tree_host_->settings().single_thread_proxy_scheduler &&
|
| !scheduler_on_impl_thread_) {
|
| SchedulerSettings scheduler_settings(layer_tree_host_->settings());
|
| - // SingleThreadProxy should run in main thread low latency mode.
|
| scheduler_settings.main_thread_should_always_be_low_latency = true;
|
| scheduler_on_impl_thread_ =
|
| Scheduler::Create(this,
|
| @@ -427,10 +426,13 @@
|
| // the pending tree is not actually ready in the SingleThreadProxy.
|
| layer_tree_host_impl_->SetRequiresHighResToDraw();
|
|
|
| - // Synchronously call to CommitComplete. Resetting
|
| - // |commit_blocking_task_runner| would make sure all tasks posted during
|
| - // commit/activation before CommitComplete.
|
| - CommitComplete();
|
| + // Since activation could cause tasks to run, post CommitComplete
|
| + // separately so that it runs after these tasks. This is the loose
|
| + // equivalent of blocking commit until activation and also running
|
| + // all tasks posted during commit/activation before CommitComplete.
|
| + MainThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&SingleThreadProxy::CommitComplete,
|
| + weak_factory_.GetWeakPtr()));
|
| }
|
|
|
| timing_history_.DidActivateSyncTree();
|
|
|