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"
15 class FakeLayerTreeHostImpl
: public LayerTreeHostImpl
{
17 FakeLayerTreeHostImpl(Proxy
* proxy
,
18 SharedBitmapManager
* manager
,
19 TaskGraphRunner
* task_graph_runner
);
20 FakeLayerTreeHostImpl(const LayerTreeSettings
& settings
,
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 SetCurrentBeginFrameArgs(const BeginFrameArgs
& args
);
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
;
46 BeginFrameArgs current_begin_frame_args_
;
47 FakeLayerTreeHostImplClient client_
;
48 FakeRenderingStatsInstrumentation stats_instrumentation_
;
53 #endif // CC_TEST_FAKE_LAYER_TREE_HOST_IMPL_H_