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 |