OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2013 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 "base/logging.h" | |
6 #include "cc/base/swap_promise.h" | |
7 | |
8 namespace { | |
9 ui::LatencyComponentType DidNotSwapReasonToLatencyComponentType( | |
10 cc::SwapPromise::DidNotSwapReason reason) { | |
11 switch (reason) { | |
12 case cc::SwapPromise::DID_NOT_SWAP_UNKNOWN: | |
13 case cc::SwapPromise::SWAP_FAILS: | |
14 return ui::INPUT_EVENT_LATENCY_TERMINATED_SWAP_FAILED_COMPONENT; | |
15 break; | |
16 case cc::SwapPromise::COMMIT_FAILS: | |
17 return ui::INPUT_EVENT_LATENCY_TERMINATED_COMMIT_FAILED_COMPONENT; | |
18 break; | |
19 case cc::SwapPromise::SWAP_PROMISE_LIST_OVERFLOW: | |
20 return ui::LATENCY_INFO_LIST_TERMINATED_OVERFLOW_COMPONENT; | |
21 break; | |
22 default: | |
23 DLOG(WARNING) << "Unhandled DidNotSwapReason.\n"; | |
24 break; | |
25 } | |
26 return ui::INPUT_EVENT_LATENCY_TERMINATED_SWAP_FAILED_COMPONENT; | |
27 } | |
28 } // namespace | |
29 | |
30 namespace cc { | |
31 | |
32 SwapPromise::SwapPromise(SwapPromiseType type) : type_(type) { | |
33 } | |
34 | |
35 SwapPromise::~SwapPromise() {} | |
36 | |
37 SwapPromise::SwapPromiseType SwapPromise::type() { | |
38 return type_; | |
39 } | |
40 | |
41 LatencyInfoSwapPromise::LatencyInfoSwapPromise(const ui::LatencyInfo& latency) | |
42 : SwapPromise(SWAP_PROMISE_LATENCY_INFO), | |
43 latency_(latency) { | |
44 } | |
45 | |
46 LatencyInfoSwapPromise::~LatencyInfoSwapPromise() { | |
47 } | |
48 | |
49 void LatencyInfoSwapPromise::DidSwap() { | |
50 CHECK(!latency_.terminated); | |
51 } | |
52 | |
53 void LatencyInfoSwapPromise::DidNotSwap(DidNotSwapReason reason) { | |
54 latency_.AddLatencyNumber(DidNotSwapReasonToLatencyComponentType(reason), | |
danakj
2013/11/26 19:17:53
these methods can be called on either thread. you
Yufeng Shen (Slow to review)
2013/11/27 20:05:33
But one SwapPromise can only live either on impl o
| |
55 0, 0); | |
56 CHECK(latency_.terminated); | |
57 } | |
58 | |
59 const ui::LatencyInfo& LatencyInfoSwapPromise::GetLatencyInfo() { | |
60 return latency_; | |
61 } | |
62 | |
63 } // namespace cc | |
OLD | NEW |