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 #ifndef CC_TEST_FAKE_LAYER_TREE_HOST_H_
6 #define CC_TEST_FAKE_LAYER_TREE_HOST_H_
8 #include "cc/debug/micro_benchmark_controller.h"
9 #include "cc/test/fake_impl_proxy.h"
10 #include "cc/test/fake_layer_tree_host_client.h"
11 #include "cc/test/fake_layer_tree_host_impl.h"
12 #include "cc/test/test_shared_bitmap_manager.h"
13 #include "cc/trees/layer_tree_host.h"
14 #include "cc/trees/layer_tree_impl.h"
15 #include "cc/trees/tree_synchronizer.h"
18 class TestTaskGraphRunner
;
20 class FakeLayerTreeHost
: public LayerTreeHost
{
22 static scoped_ptr
<FakeLayerTreeHost
> Create(
23 FakeLayerTreeHostClient
* client
,
24 TestTaskGraphRunner
* task_graph_runner
);
25 static scoped_ptr
<FakeLayerTreeHost
> Create(
26 FakeLayerTreeHostClient
* client
,
27 TestTaskGraphRunner
* task_graph_runner
,
28 const LayerTreeSettings
& settings
);
30 ~FakeLayerTreeHost() override
;
32 void SetNeedsCommit() override
;
33 void SetNeedsFullTreeSync() override
{}
35 using LayerTreeHost::SetRootLayer
;
36 using LayerTreeHost::root_layer
;
38 LayerImpl
* CommitAndCreateLayerImplTree();
40 FakeLayerTreeHostImpl
* host_impl() { return &host_impl_
; }
41 LayerTreeImpl
* active_tree() { return host_impl_
.active_tree(); }
43 using LayerTreeHost::ScheduleMicroBenchmark
;
44 using LayerTreeHost::SendMessageToMicroBenchmark
;
45 using LayerTreeHost::SetOutputSurfaceLostForTesting
;
46 using LayerTreeHost::InitializeSingleThreaded
;
47 using LayerTreeHost::InitializeForTesting
;
48 void UpdateLayers() { LayerTreeHost::UpdateLayers(); }
50 MicroBenchmarkController
* GetMicroBenchmarkController() {
51 return µ_benchmark_controller_
;
54 bool needs_commit() { return needs_commit_
; }
57 FakeLayerTreeHost(FakeLayerTreeHostClient
* client
,
58 LayerTreeHost::InitParams
* params
);
62 FakeLayerTreeHostClient
* client_
;
63 TestSharedBitmapManager manager_
;
64 FakeLayerTreeHostImpl host_impl_
;
70 #endif // CC_TEST_FAKE_LAYER_TREE_HOST_H_