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"
19 class FakeLayerTreeHost
: public LayerTreeHost
{
21 static scoped_ptr
<FakeLayerTreeHost
> Create(FakeLayerTreeHostClient
* client
);
22 static scoped_ptr
<FakeLayerTreeHost
> Create(
23 FakeLayerTreeHostClient
* client
,
24 const LayerTreeSettings
& settings
);
26 ~FakeLayerTreeHost() override
;
28 void SetNeedsCommit() override
;
29 void SetNeedsFullTreeSync() override
{}
31 using LayerTreeHost::SetRootLayer
;
32 using LayerTreeHost::root_layer
;
34 LayerImpl
* CommitAndCreateLayerImplTree();
36 FakeLayerTreeHostImpl
* host_impl() { return &host_impl_
; }
37 LayerTreeImpl
* active_tree() { return host_impl_
.active_tree(); }
39 using LayerTreeHost::ScheduleMicroBenchmark
;
40 using LayerTreeHost::SendMessageToMicroBenchmark
;
41 using LayerTreeHost::SetOutputSurfaceLostForTesting
;
42 using LayerTreeHost::InitializeSingleThreaded
;
43 using LayerTreeHost::InitializeForTesting
;
44 void UpdateLayers(ResourceUpdateQueue
* queue
) {
45 LayerTreeHost::UpdateLayers(queue
);
48 MicroBenchmarkController
* GetMicroBenchmarkController() {
49 return µ_benchmark_controller_
;
52 bool needs_commit() { return needs_commit_
; }
55 FakeLayerTreeHost(FakeLayerTreeHostClient
* client
,
56 const LayerTreeSettings
& settings
);
59 FakeLayerTreeHostClient
* client_
;
60 TestSharedBitmapManager manager_
;
61 FakeLayerTreeHostImpl host_impl_
;
67 #endif // CC_TEST_FAKE_LAYER_TREE_HOST_H_