Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1683)

Unified Diff: cc/scheduler/begin_frame_source.cc

Issue 2767933002: [cc] Don't send missed BeginFrames with past deadline.
Patch Set: add ExternalBFS tests, don't check in DelayBasedBFS. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/scheduler/begin_frame_source.h ('k') | cc/scheduler/begin_frame_source_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/scheduler/begin_frame_source.cc
diff --git a/cc/scheduler/begin_frame_source.cc b/cc/scheduler/begin_frame_source.cc
index 714f505037b230186cd85245f8f87f9b1b372ad9..f2076e4b5457722af841cc248aef770d60fa6b66 100644
--- a/cc/scheduler/begin_frame_source.cc
+++ b/cc/scheduler/begin_frame_source.cc
@@ -364,7 +364,11 @@ void ExternalBeginFrameSource::AddObserver(BeginFrameObserver* obs) {
last_args.sequence_number))
<< "current " << missed_begin_frame_args_.AsValue()->ToString()
<< ", last " << last_args.AsValue()->ToString();
- obs->OnBeginFrame(missed_begin_frame_args_);
+ // Avoid issuing missed BeginFrames with a past deadline.
+ if (missed_begin_frame_args_.deadline.is_null() ||
+ missed_begin_frame_args_.deadline > Now()) {
+ obs->OnBeginFrame(missed_begin_frame_args_);
+ }
}
}
}
@@ -442,4 +446,8 @@ void ExternalBeginFrameSource::FinishFrame() {
client_->OnDidFinishFrame(ack);
}
+base::TimeTicks ExternalBeginFrameSource::Now() const {
+ return base::TimeTicks::Now();
+}
+
} // namespace cc
« no previous file with comments | « cc/scheduler/begin_frame_source.h ('k') | cc/scheduler/begin_frame_source_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698