Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / cc / trees / latency_info_swap_promise_monitor.h
blob2f5e0e5d3394b29302c4ccea8190a6ad9710f26b
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/compiler_specific.h"
6 #include "cc/trees/swap_promise_monitor.h"
8 #ifndef CC_TREES_LATENCY_INFO_SWAP_PROMISE_MONITOR_H_
9 #define CC_TREES_LATENCY_INFO_SWAP_PROMISE_MONITOR_H_
11 namespace ui {
12 class LatencyInfo;
13 } // namespace ui
15 namespace cc {
17 // A LatencyInfoSwapPromiseMonitor queues a LatencyInfoSwapPromise into
18 // LayerTreeHost or LayerTreeHostImpl if there is compositor state change
19 // while it is being mointored.
20 class CC_EXPORT LatencyInfoSwapPromiseMonitor : public SwapPromiseMonitor {
21 public:
22 LatencyInfoSwapPromiseMonitor(ui::LatencyInfo* latency,
23 LayerTreeHost* layer_tree_host,
24 LayerTreeHostImpl* layer_tree_host_impl);
25 ~LatencyInfoSwapPromiseMonitor() override;
27 void OnSetNeedsCommitOnMain() override;
28 void OnSetNeedsRedrawOnImpl() override;
29 void OnForwardScrollUpdateToMainThreadOnImpl() override;
31 private:
32 ui::LatencyInfo* latency_;
35 } // namespace cc
37 #endif // CC_TREES_LATENCY_INFO_SWAP_PROMISE_MONITOR_H_