37 {
40 auto frame_start_time =
42 auto frame_target_time = frame_start_time + kSingleFrameInterval;
43
45 frame_start_time.ToEpochDelta().ToMicroseconds(),
46 "frame_target_time",
47 frame_target_time.ToEpochDelta().ToMicroseconds());
48
49 std::weak_ptr<VsyncWaiterFallback> weak_this =
50 std::static_pointer_cast<VsyncWaiterFallback>(shared_from_this());
51
53 [frame_start_time, frame_target_time, weak_this]() {
54 if (auto vsync_waiter = weak_this.lock()) {
55 vsync_waiter->FireCallback(frame_start_time, frame_target_time,
56 !vsync_waiter->for_testing_);
57 }
58 },
59 frame_start_time);
60}
fml::RefPtr< fml::TaskRunner > GetUITaskRunner() const
const TaskRunners task_runners_
virtual void PostTaskForTime(const fml::closure &task, fml::TimePoint target_time)
static constexpr TimeDelta FromSecondsF(double seconds)
#define TRACE_EVENT2_INT(category_group, name, arg1_name, arg1_val, arg2_name, arg2_val)