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 return CreateBeginFrameArgsForTesting(gfx::FrameTime::Now()); 15 } 16 17 BeginFrameArgs CreateBeginFrameArgsForTesting(base::TimeTicks frame_time) { 18 return BeginFrameArgs::Create( 19 frame_time, 20 frame_time + (BeginFrameArgs::DefaultInterval() / 2), 21 BeginFrameArgs::DefaultInterval()); 22 } 23 24 BeginFrameArgs CreateBeginFrameArgsForTesting(int64 frame_time, 25 int64 deadline, 26 int64 interval) { 27 return BeginFrameArgs::Create(base::TimeTicks::FromInternalValue(frame_time), 28 base::TimeTicks::FromInternalValue(deadline), 29 base::TimeDelta::FromInternalValue(interval)); 30 } 31 32 BeginFrameArgs CreateExpiredBeginFrameArgsForTesting() { 33 base::TimeTicks now = gfx::FrameTime::Now(); 34 return BeginFrameArgs::Create(now, 35 now - BeginFrameArgs::DefaultInterval(), 36 BeginFrameArgs::DefaultInterval()); 37 } 38 39 BeginFrameArgs CreateBeginFrameArgsForTesting( 40 scoped_refptr<TestNowSource> now_src) { 41 base::TimeTicks now = now_src->Now(); 42 return BeginFrameArgs::Create(now, 43 now + (BeginFrameArgs::DefaultInterval() / 2), 44 BeginFrameArgs::DefaultInterval()); 45 } 46 47 BeginFrameArgs CreateExpiredBeginFrameArgsForTesting( 48 scoped_refptr<TestNowSource> now_src) { 49 base::TimeTicks now = now_src->Now(); 50 return BeginFrameArgs::Create(now, 51 now - BeginFrameArgs::DefaultInterval(), 52 BeginFrameArgs::DefaultInterval()); 53 } 54 55 bool operator==(const BeginFrameArgs& lhs, const BeginFrameArgs& rhs) { 56 return (lhs.frame_time == rhs.frame_time) && (lhs.deadline == rhs.deadline) && 57 (lhs.interval == rhs.interval); 58 } 59 60 ::std::ostream& operator<<(::std::ostream& os, const BeginFrameArgs& args) { 61 PrintTo(args, &os); 62 return os; 63 } 64 65 void PrintTo(const BeginFrameArgs& args, ::std::ostream* os) { 66 *os << "BeginFrameArgs(" << args.frame_time.ToInternalValue() << ", " 67 << args.deadline.ToInternalValue() << ", " 68 << args.interval.InMicroseconds() << "us)"; 69 } 70 71 } // namespace cc 72