This sets up API to release OutputSurface from LTHClient.
[chromium-blink-merge.git] / cc / trees / swap_promise_monitor.cc
blob84d8a9feb941c61bf19ac1de26fd8c5fa876c609
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.
5 #include "base/logging.h"
6 #include "cc/trees/layer_tree_host.h"
7 #include "cc/trees/layer_tree_host_impl.h"
8 #include "cc/trees/swap_promise_monitor.h"
10 namespace cc {
12 SwapPromiseMonitor::SwapPromiseMonitor(LayerTreeHost* layer_tree_host,
13 LayerTreeHostImpl* layer_tree_host_impl)
14 : layer_tree_host_(layer_tree_host),
15 layer_tree_host_impl_(layer_tree_host_impl) {
16 DCHECK((layer_tree_host && !layer_tree_host_impl) ||
17 (!layer_tree_host && layer_tree_host_impl));
18 if (layer_tree_host_)
19 layer_tree_host_->InsertSwapPromiseMonitor(this);
20 if (layer_tree_host_impl_)
21 layer_tree_host_impl_->InsertSwapPromiseMonitor(this);
24 SwapPromiseMonitor::~SwapPromiseMonitor() {
25 if (layer_tree_host_)
26 layer_tree_host_->RemoveSwapPromiseMonitor(this);
27 if (layer_tree_host_impl_)
28 layer_tree_host_impl_->RemoveSwapPromiseMonitor(this);
31 } // namespace cc