Index: cc/output/swap_promise.h |
diff --git a/cc/output/swap_promise.h b/cc/output/swap_promise.h |
index f3c3fbdde811651bb9a941d307b7372c3103ddee..45a9531160983a4441edf0fa934f016e460cd253 100644 |
--- a/cc/output/swap_promise.h |
+++ b/cc/output/swap_promise.h |
@@ -50,12 +50,19 @@ class CC_EXPORT SwapPromise { |
ACTIVATION_FAILS, |
}; |
+ enum class DidNotSwapAction { |
+ BREAK_PROMISE, |
+ KEEP_ACTIVE, |
+ }; |
+ |
SwapPromise() {} |
virtual ~SwapPromise() {} |
virtual void DidActivate() = 0; |
virtual void DidSwap(CompositorFrameMetadata* metadata) = 0; |
- virtual void DidNotSwap(DidNotSwapReason reason) = 0; |
+ // Return |KEEP_ACTIVE| if this promise should remain active (should not be |
+ // broken by the owner). |
+ virtual DidNotSwapAction DidNotSwap(DidNotSwapReason reason) = 0; |
// This is called when the main thread starts a (blocking) commit |
virtual void OnCommit() {} |