Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / cc / test / fake_layer_tree_host_impl.h
blobe5a128c47b0550d90d5ee37bf29c644ef4cf1bf4
1 // Copyright 2012 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 #ifndef CC_TEST_FAKE_LAYER_TREE_HOST_IMPL_H_
6 #define CC_TEST_FAKE_LAYER_TREE_HOST_IMPL_H_
8 #include "cc/test/fake_layer_tree_host_impl_client.h"
9 #include "cc/test/fake_rendering_stats_instrumentation.h"
10 #include "cc/trees/layer_tree_host_impl.h"
11 #include "cc/trees/single_thread_proxy.h"
13 namespace cc {
15 class FakeLayerTreeHostImpl : public LayerTreeHostImpl {
16 public:
17 FakeLayerTreeHostImpl(Proxy* proxy,
18 SharedBitmapManager* manager,
19 TaskGraphRunner* task_graph_runner);
20 FakeLayerTreeHostImpl(const LayerTreeSettings& settings,
21 Proxy* proxy,
22 SharedBitmapManager* manager,
23 TaskGraphRunner* task_graph_runner);
24 ~FakeLayerTreeHostImpl() override;
26 void ForcePrepareToDraw() {
27 LayerTreeHostImpl::FrameData frame_data;
28 PrepareToDraw(&frame_data);
29 DidDrawAllLayers(frame_data);
32 void CreatePendingTree() override;
34 BeginFrameArgs CurrentBeginFrameArgs() const override;
35 void AdvanceToNextFrame(base::TimeDelta advance_by);
36 void UpdateNumChildrenAndDrawPropertiesForActiveTree();
37 static void UpdateNumChildrenAndDrawProperties(LayerTreeImpl* layerTree);
38 static int RecursiveUpdateNumChildren(LayerImpl* layer);
40 using LayerTreeHostImpl::ActivateSyncTree;
41 using LayerTreeHostImpl::prepare_tiles_needed;
42 using LayerTreeHostImpl::is_likely_to_require_a_draw;
43 using LayerTreeHostImpl::RemoveRenderPasses;
45 private:
46 FakeLayerTreeHostImplClient client_;
47 FakeRenderingStatsInstrumentation stats_instrumentation_;
50 } // namespace cc
52 #endif // CC_TEST_FAKE_LAYER_TREE_HOST_IMPL_H_