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 11namespace cc { 12 13BeginFrameArgs CreateBeginFrameArgsForTesting() { 14 return CreateBeginFrameArgsForTesting(gfx::FrameTime::Now()); 15} 16 17BeginFrameArgs CreateBeginFrameArgsForTesting(base::TimeTicks frame_time) { 18 return BeginFrameArgs::Create( 19 frame_time, 20 frame_time + (BeginFrameArgs::DefaultInterval() / 2), 21 BeginFrameArgs::DefaultInterval()); 22} 23 24BeginFrameArgs 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 32BeginFrameArgs CreateExpiredBeginFrameArgsForTesting() { 33 base::TimeTicks now = gfx::FrameTime::Now(); 34 return BeginFrameArgs::Create(now, 35 now - BeginFrameArgs::DefaultInterval(), 36 BeginFrameArgs::DefaultInterval()); 37} 38 39BeginFrameArgs 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 47BeginFrameArgs 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 55bool 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 65void 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