1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "cc/test/begin_frame_args_test.h" 6 7 #include "base/time/time.h" 8 #include "cc/output/begin_frame_args.h" 9 #include "ui/gfx/frame_time.h" 10 11 namespace cc { 12 13 BeginFrameArgs CreateBeginFrameArgsForTesting() { 14 base::TimeTicks now = gfx::FrameTime::Now(); 15 return BeginFrameArgs::Create(now, 16 now + (BeginFrameArgs::DefaultInterval() / 2), 17 BeginFrameArgs::DefaultInterval()); 18 } 19 20 BeginFrameArgs CreateBeginFrameArgsForTesting(int64 frame_time, 21 int64 deadline, 22 int64 interval) { 23 return BeginFrameArgs::Create(base::TimeTicks::FromInternalValue(frame_time), 24 base::TimeTicks::FromInternalValue(deadline), 25 base::TimeDelta::FromInternalValue(interval)); 26 } 27 28 BeginFrameArgs CreateExpiredBeginFrameArgsForTesting() { 29 base::TimeTicks now = gfx::FrameTime::Now(); 30 return BeginFrameArgs::Create(now, 31 now - BeginFrameArgs::DefaultInterval(), 32 BeginFrameArgs::DefaultInterval()); 33 } 34 35 bool operator==(const BeginFrameArgs& lhs, const BeginFrameArgs& rhs) { 36 return (lhs.frame_time == rhs.frame_time) && (lhs.deadline == rhs.deadline) && 37 (lhs.interval == rhs.interval); 38 } 39 40 ::std::ostream& operator<<(::std::ostream& os, const BeginFrameArgs& args) { 41 PrintTo(args, &os); 42 return os; 43 } 44 45 void PrintTo(const BeginFrameArgs& args, ::std::ostream* os) { 46 *os << "BeginFrameArgs(" << args.frame_time.ToInternalValue() << ", " 47 << args.deadline.ToInternalValue() << ", " 48 << args.interval.InMicroseconds() << "us)"; 49 } 50 51 } // namespace cc 52