| Index: cc/trees/single_thread_proxy.cc
|
| diff --git a/cc/trees/single_thread_proxy.cc b/cc/trees/single_thread_proxy.cc
|
| index e29f0d16b049e14d0b7e6bb7304dca2684ebad52..c21d34ec5d0fe193115effd1ab22e618c88b9d1a 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),
|
| @@ -309,10 +308,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 {
|
| @@ -672,9 +668,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;
|
| }
|
|
|
|
|