Chromium Code Reviews| Index: cc/scheduler/begin_frame_source.cc |
| diff --git a/cc/scheduler/begin_frame_source.cc b/cc/scheduler/begin_frame_source.cc |
| index bc828026303bce098331606e8c675a73bf5ff110..e7f6425f4d24f5f8585cfc09eaf5441624127253 100644 |
| --- a/cc/scheduler/begin_frame_source.cc |
| +++ b/cc/scheduler/begin_frame_source.cc |
| @@ -210,12 +210,17 @@ scoped_ptr<SyntheticBeginFrameSource> SyntheticBeginFrameSource::Create( |
| base::TimeDelta initial_vsync_interval) { |
| scoped_ptr<DelayBasedTimeSource> time_source = |
| DelayBasedTimeSource::Create(initial_vsync_interval, task_runner); |
| - return make_scoped_ptr(new SyntheticBeginFrameSource(time_source.Pass())); |
| + return make_scoped_ptr( |
| + new SyntheticBeginFrameSource(task_runner, time_source.Pass())); |
| } |
| SyntheticBeginFrameSource::SyntheticBeginFrameSource( |
| + base::SingleThreadTaskRunner* task_runner, |
| scoped_ptr<DelayBasedTimeSource> time_source) |
| - : BeginFrameSourceBase(), time_source_(time_source.Pass()) { |
| + : BeginFrameSourceBase(), |
| + task_runner_(task_runner), |
| + time_source_(time_source.Pass()), |
| + weak_factory_(this) { |
| time_source_->SetActive(false); |
| time_source_->SetClient(this); |
| } |
| @@ -239,7 +244,12 @@ BeginFrameArgs SyntheticBeginFrameSource::CreateBeginFrameArgs( |
| time_source_->Interval(), type); |
| } |
| -// TimeSourceClient support |
| +// DelayBasedTimeSourceClient support |
| +void SyntheticBeginFrameSource::OnMissedTick() { |
|
mithro-old
2015/06/30 08:11:52
I feel like these callbacks should just take a tim
|
| + CallOnBeginFrame(CreateBeginFrameArgs(time_source_->MissedTickTime(), |
| + BeginFrameArgs::MISSED)); |
| +} |
| + |
| void SyntheticBeginFrameSource::OnTimerTick() { |
| CallOnBeginFrame(CreateBeginFrameArgs(time_source_->LastTickTime(), |
| BeginFrameArgs::NORMAL)); |
| @@ -248,12 +258,7 @@ void SyntheticBeginFrameSource::OnTimerTick() { |
| // BeginFrameSourceBase support |
| void SyntheticBeginFrameSource::OnNeedsBeginFramesChange( |
| bool needs_begin_frames) { |
| - base::TimeTicks missed_tick_time = |
| - time_source_->SetActive(needs_begin_frames); |
| - if (!missed_tick_time.is_null()) { |
| - CallOnBeginFrame( |
| - CreateBeginFrameArgs(missed_tick_time, BeginFrameArgs::MISSED)); |
| - } |
| + time_source_->SetActive(needs_begin_frames); |
| } |
| // Tracing support |