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/base/swap_promise_monitor.h"
7 #include "cc/trees/layer_tree_host.h"
8 #include "cc/trees/layer_tree_host_impl.h"
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
));
19 layer_tree_host_
->InsertSwapPromiseMonitor(this);
20 if (layer_tree_host_impl_
)
21 layer_tree_host_impl_
->InsertSwapPromiseMonitor(this);
24 SwapPromiseMonitor::~SwapPromiseMonitor() {
26 layer_tree_host_
->RemoveSwapPromiseMonitor(this);
27 if (layer_tree_host_impl_
)
28 layer_tree_host_impl_
->RemoveSwapPromiseMonitor(this);