Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / cc / test / begin_frame_args_test.cc
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