OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CC_IPC_BEGIN_FRAME_ARGS_STRUCT_TRAITS_H_ | 5 #ifndef CC_IPC_BEGIN_FRAME_ARGS_STRUCT_TRAITS_H_ |
6 #define CC_IPC_BEGIN_FRAME_ARGS_STRUCT_TRAITS_H_ | 6 #define CC_IPC_BEGIN_FRAME_ARGS_STRUCT_TRAITS_H_ |
7 | 7 |
8 #include "cc/ipc/begin_frame_args.mojom-shared.h" | 8 #include "cc/ipc/begin_frame_args.mojom-shared.h" |
9 #include "cc/output/begin_frame_args.h" | 9 #include "cc/output/begin_frame_args.h" |
10 | 10 |
11 namespace mojo { | 11 namespace mojo { |
12 | 12 |
13 template <> | 13 template <> |
14 struct StructTraits<cc::mojom::BeginFrameArgsDataView, cc::BeginFrameArgs> { | 14 struct StructTraits<cc::mojom::BeginFrameArgsDataView, cc::BeginFrameArgs> { |
15 static base::TimeTicks frame_time(const cc::BeginFrameArgs& args) { | 15 static base::TimeTicks frame_time(const cc::BeginFrameArgs& args) { |
16 return args.frame_time; | 16 return args.frame_time; |
17 } | 17 } |
18 | 18 |
19 static base::TimeTicks deadline(const cc::BeginFrameArgs& args) { | 19 static base::TimeTicks deadline(const cc::BeginFrameArgs& args) { |
20 return args.deadline; | 20 return args.deadline; |
21 } | 21 } |
22 | 22 |
23 static base::TimeDelta interval(const cc::BeginFrameArgs& args) { | 23 static base::TimeDelta interval(const cc::BeginFrameArgs& args) { |
24 return args.interval; | 24 return args.interval; |
25 } | 25 } |
26 | 26 |
| 27 static uint64_t sequence_number(const cc::BeginFrameArgs& args) { |
| 28 return args.sequence_number; |
| 29 } |
| 30 |
| 31 static uint32_t source_id(const cc::BeginFrameArgs& args) { |
| 32 return args.source_id; |
| 33 } |
| 34 |
27 static cc::mojom::BeginFrameArgsType type(const cc::BeginFrameArgs& args) { | 35 static cc::mojom::BeginFrameArgsType type(const cc::BeginFrameArgs& args) { |
28 return static_cast<cc::mojom::BeginFrameArgsType>(args.type); | 36 return static_cast<cc::mojom::BeginFrameArgsType>(args.type); |
29 } | 37 } |
30 | 38 |
31 static bool on_critical_path(const cc::BeginFrameArgs& args) { | 39 static bool on_critical_path(const cc::BeginFrameArgs& args) { |
32 return args.on_critical_path; | 40 return args.on_critical_path; |
33 } | 41 } |
34 | 42 |
35 static bool Read(cc::mojom::BeginFrameArgsDataView data, | 43 static bool Read(cc::mojom::BeginFrameArgsDataView data, |
36 cc::BeginFrameArgs* out) { | 44 cc::BeginFrameArgs* out) { |
37 if (!data.ReadFrameTime(&out->frame_time) || | 45 if (!data.ReadFrameTime(&out->frame_time) || |
38 !data.ReadDeadline(&out->deadline) || | 46 !data.ReadDeadline(&out->deadline) || |
39 !data.ReadInterval(&out->interval)) { | 47 !data.ReadInterval(&out->interval)) { |
40 return false; | 48 return false; |
41 } | 49 } |
| 50 out->source_id = data.source_id(); |
| 51 out->sequence_number = data.sequence_number(); |
42 out->type = | 52 out->type = |
43 static_cast<cc::BeginFrameArgs::BeginFrameArgsType>(data.type()); | 53 static_cast<cc::BeginFrameArgs::BeginFrameArgsType>(data.type()); |
44 out->on_critical_path = data.on_critical_path(); | 54 out->on_critical_path = data.on_critical_path(); |
45 return true; | 55 return true; |
46 } | 56 } |
47 }; | 57 }; |
48 | 58 |
49 } // namespace mojo | 59 } // namespace mojo |
50 | 60 |
51 #endif // CC_IPC_BEGIN_FRAME_ARGS_STRUCT_TRAITS_H_ | 61 #endif // CC_IPC_BEGIN_FRAME_ARGS_STRUCT_TRAITS_H_ |
OLD | NEW |