Chromium Code Reviews| Index: cc/base/swap_promise.h |
| diff --git a/cc/base/swap_promise.h b/cc/base/swap_promise.h |
| index 90bf6af53a6a0909484cd897b1ccab6a2cbe3844..7328f12935252424d44bd95e7ff5f63ee1eb8297 100644 |
| --- a/cc/base/swap_promise.h |
| +++ b/cc/base/swap_promise.h |
| @@ -5,6 +5,9 @@ |
| #ifndef CC_BASE_SWAP_PROMISE_H_ |
| #define CC_BASE_SWAP_PROMISE_H_ |
| +#include "base/compiler_specific.h" |
| +#include "ui/events/latency_info.h" |
| + |
| namespace cc { |
| const unsigned int kMaxQueuedSwapPromiseNumber = 100; |
| @@ -29,8 +32,10 @@ const unsigned int kMaxQueuedSwapPromiseNumber = 100; |
| // DidSwap() and DidNotSwap(). |
| class SwapPromise { |
| public: |
| - SwapPromise() {} |
| - virtual ~SwapPromise() {} |
| + enum SwapPromiseType { |
| + SWAP_PROMISE_UNKNOWN, |
| + SWAP_PROMISE_LATENCY_INFO, |
| + }; |
| enum DidNotSwapReason { |
| DID_NOT_SWAP_UNKNOWN, |
| @@ -39,8 +44,30 @@ class SwapPromise { |
| SWAP_PROMISE_LIST_OVERFLOW, |
| }; |
| + explicit SwapPromise(SwapPromiseType type); |
| + virtual ~SwapPromise(); |
| + |
| + SwapPromiseType type(); |
| + |
| virtual void DidSwap() = 0; |
| virtual void DidNotSwap(DidNotSwapReason reason) = 0; |
| + |
| + protected: |
| + SwapPromiseType type_; |
| +}; |
| + |
| +class LatencyInfoSwapPromise : public SwapPromise { |
|
danakj
2013/11/26 19:17:53
one class per file please
Yufeng Shen (Slow to review)
2013/11/27 20:05:33
Done.
|
| + public: |
| + explicit LatencyInfoSwapPromise(const ui::LatencyInfo& latency_info); |
| + virtual ~LatencyInfoSwapPromise(); |
| + |
| + virtual void DidSwap() OVERRIDE; |
| + virtual void DidNotSwap(DidNotSwapReason reason) OVERRIDE; |
| + |
| + const ui::LatencyInfo& GetLatencyInfo(); |
| + |
| + private: |
| + ui::LatencyInfo latency_; |
| }; |
| } // namespace cc |