Index: cc/trees/thread_proxy.cc |
diff --git a/cc/trees/thread_proxy.cc b/cc/trees/thread_proxy.cc |
index db69b8203def40e71e3bf89575907a0be09da1ee..2260d12c59d39fc96a327f17fcf4b487cb331aa3 100644 |
--- a/cc/trees/thread_proxy.cc |
+++ b/cc/trees/thread_proxy.cc |
@@ -685,6 +685,8 @@ void ThreadProxy::ScheduledActionSendBeginMainFrame() { |
impl().layer_tree_host_impl->memory_allocation_priority_cutoff(); |
begin_main_frame_state->evicted_ui_resources = |
impl().layer_tree_host_impl->EvictedUIResourcesExist(); |
+ impl().layer_tree_host_impl->SetBeginMainFrameTime( |
+ impl().scheduler->LastBeginImplFrameTime()); |
Proxy::MainThreadTaskRunner()->PostTask( |
FROM_HERE, |
base::Bind(&ThreadProxy::BeginMainFrame, |
@@ -917,8 +919,10 @@ void ThreadProxy::BeginMainFrameAbortedOnImplThread( |
DCHECK(impl().scheduler->CommitPending()); |
DCHECK(!impl().layer_tree_host_impl->pending_tree()); |
- if (CommitEarlyOutHandledCommit(reason)) |
+ if (CommitEarlyOutHandledCommit(reason)) { |
SetInputThrottledUntilCommitOnImplThread(false); |
+ impl().layer_tree_host_impl->RecordMainFrameTiming(); |
+ } |
impl().layer_tree_host_impl->BeginMainFrameAborted(reason); |
impl().scheduler->BeginMainFrameAborted(reason); |
} |
@@ -1374,4 +1378,9 @@ void ThreadProxy::DidCompletePageScaleAnimationOnImplThread() { |
main_thread_weak_ptr_)); |
} |
+base::TimeTicks ThreadProxy::GetNextBeginImplFrameTimeIfRequested() const { |
+ DCHECK(IsImplThread()); |
+ return impl().scheduler->NextBeginImplFrameTimeIfRequested(); |
+} |
+ |
} // namespace cc |