Home | History | Annotate | Download | only in test
      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