Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / cc / trees / scoped_abort_remaining_swap_promises.h
1 // Copyright 2014 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 #ifndef CC_TREES_SCOPED_ABORT_REMAINING_SWAP_PROMISES_H_
6 #define CC_TREES_SCOPED_ABORT_REMAINING_SWAP_PROMISES_H_
7
8 #include "cc/base/swap_promise.h"
9 #include "cc/trees/layer_tree_host.h"
10
11 namespace cc {
12
13 class ScopedAbortRemainingSwapPromises {
14  public:
15   explicit ScopedAbortRemainingSwapPromises(LayerTreeHost* layer_tree_host)
16       : layer_tree_host_(layer_tree_host) {}
17
18   ~ScopedAbortRemainingSwapPromises() {
19     layer_tree_host_->BreakSwapPromises(SwapPromise::COMMIT_FAILS);
20   }
21
22  private:
23   LayerTreeHost* layer_tree_host_;
24
25   DISALLOW_COPY_AND_ASSIGN(ScopedAbortRemainingSwapPromises);
26 };
27
28 }  // namespace cc
29
30 #endif  // CC_TREES_SCOPED_ABORT_REMAINING_SWAP_PROMISES_H_