| Index: cc/trees/single_thread_proxy.cc
|
| diff --git a/cc/trees/single_thread_proxy.cc b/cc/trees/single_thread_proxy.cc
|
| index c8eb6b0fad6b33dc9811cb2169a976d8b519ab8e..dc58d39a0911e9561feb942e27c0bd168e9a568d 100644
|
| --- a/cc/trees/single_thread_proxy.cc
|
| +++ b/cc/trees/single_thread_proxy.cc
|
| @@ -45,7 +45,6 @@ SingleThreadProxy::SingleThreadProxy(
|
| next_frame_is_newly_committed_frame_(false),
|
| inside_draw_(false),
|
| defer_commits_(false),
|
| - commit_was_deferred_(false),
|
| commit_requested_(false),
|
| inside_synchronous_composite_(false),
|
| output_surface_creation_requested_(false),
|
| @@ -313,10 +312,7 @@ void SingleThreadProxy::SetDeferCommits(bool defer_commits) {
|
| TRACE_EVENT_ASYNC_END0("cc", "SingleThreadProxy::SetDeferCommits", this);
|
|
|
| defer_commits_ = defer_commits;
|
| - if (!defer_commits_ && commit_was_deferred_) {
|
| - commit_was_deferred_ = false;
|
| - BeginMainFrame();
|
| - }
|
| + scheduler_on_impl_thread_->SetDeferCommits(defer_commits);
|
| }
|
|
|
| bool SingleThreadProxy::CommitRequested() const {
|
| @@ -680,9 +676,10 @@ void SingleThreadProxy::ScheduledActionSendBeginMainFrame() {
|
|
|
| void SingleThreadProxy::BeginMainFrame() {
|
| if (defer_commits_) {
|
| - DCHECK(!commit_was_deferred_);
|
| - commit_was_deferred_ = true;
|
| - layer_tree_host_->DidDeferCommit();
|
| + TRACE_EVENT_INSTANT0("cc", "EarlyOut_DeferCommit",
|
| + TRACE_EVENT_SCOPE_THREAD);
|
| + BeginMainFrameAbortedOnImplThread(
|
| + CommitEarlyOutReason::ABORTED_DEFERRED_COMMIT);
|
| return;
|
| }
|
|
|
|
|