// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "cc/test/begin_frame_args_test.h" #include #include "base/time/time.h" #include "cc/output/begin_frame_args.h" namespace cc { BeginFrameArgs CreateBeginFrameArgsForTesting( BeginFrameArgs::CreationLocation location) { return CreateBeginFrameArgsForTesting(location, base::TimeTicks::Now()); } BeginFrameArgs CreateBeginFrameArgsForTesting( BeginFrameArgs::CreationLocation location, base::TimeTicks frame_time) { return BeginFrameArgs::Create( location, frame_time, frame_time + BeginFrameArgs::DefaultInterval() - BeginFrameArgs::DefaultEstimatedParentDrawTime(), BeginFrameArgs::DefaultInterval(), BeginFrameArgs::NORMAL); } BeginFrameArgs CreateBeginFrameArgsForTesting( BeginFrameArgs::CreationLocation location, int64_t frame_time, int64_t deadline, int64_t interval) { return BeginFrameArgs::Create( location, base::TimeTicks::FromInternalValue(frame_time), base::TimeTicks::FromInternalValue(deadline), base::TimeDelta::FromInternalValue(interval), BeginFrameArgs::NORMAL); } BeginFrameArgs CreateBeginFrameArgsForTesting( BeginFrameArgs::CreationLocation location, int64_t frame_time, int64_t deadline, int64_t interval, BeginFrameArgs::BeginFrameArgsType type) { return BeginFrameArgs::Create( location, base::TimeTicks::FromInternalValue(frame_time), base::TimeTicks::FromInternalValue(deadline), base::TimeDelta::FromInternalValue(interval), type); } BeginFrameArgs CreateBeginFrameArgsForTesting( BeginFrameArgs::CreationLocation location, base::SimpleTestTickClock* now_src) { base::TimeTicks now = now_src->NowTicks(); return BeginFrameArgs::Create( location, now, now + BeginFrameArgs::DefaultInterval() - BeginFrameArgs::DefaultEstimatedParentDrawTime(), BeginFrameArgs::DefaultInterval(), BeginFrameArgs::NORMAL); } bool operator==(const BeginFrameArgs& lhs, const BeginFrameArgs& rhs) { return (lhs.type == rhs.type) && (lhs.frame_time == rhs.frame_time) && (lhs.deadline == rhs.deadline) && (lhs.interval == rhs.interval); } ::std::ostream& operator<<(::std::ostream& os, const BeginFrameArgs& args) { PrintTo(args, &os); return os; } void PrintTo(const BeginFrameArgs& args, ::std::ostream* os) { *os << "BeginFrameArgs(" << BeginFrameArgs::TypeToString(args.type) << ", " << args.frame_time.ToInternalValue() << ", " << args.deadline.ToInternalValue() << ", " << args.interval.InMicroseconds() << "us)"; } } // namespace cc