fake_layer_tree_host_impl.h revision 116680a4aac90f2aa7413d9095a592090648e557
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.
4
5#ifndef CC_TEST_FAKE_LAYER_TREE_HOST_IMPL_H_
6#define CC_TEST_FAKE_LAYER_TREE_HOST_IMPL_H_
7
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"
12
13namespace cc {
14
15class FakeLayerTreeHostImpl : public LayerTreeHostImpl {
16 public:
17  FakeLayerTreeHostImpl(Proxy* proxy, SharedBitmapManager* manager);
18  FakeLayerTreeHostImpl(const LayerTreeSettings& settings,
19                        Proxy* proxy,
20                        SharedBitmapManager* manager);
21  virtual ~FakeLayerTreeHostImpl();
22
23  void ForcePrepareToDraw() {
24    LayerTreeHostImpl::FrameData frame_data;
25    PrepareToDraw(&frame_data);
26    DidDrawAllLayers(frame_data);
27  }
28
29  virtual void CreatePendingTree() OVERRIDE;
30
31  virtual base::TimeTicks CurrentFrameTimeTicks() OVERRIDE;
32  void SetCurrentFrameTimeTicks(base::TimeTicks current_frame_time_ticks);
33
34  using LayerTreeHostImpl::ActivateSyncTree;
35  using LayerTreeHostImpl::manage_tiles_needed;
36
37 private:
38  base::TimeTicks current_frame_time_ticks_;
39  FakeLayerTreeHostImplClient client_;
40  FakeRenderingStatsInstrumentation stats_instrumentation_;
41};
42
43}  // namespace cc
44
45#endif  // CC_TEST_FAKE_LAYER_TREE_HOST_IMPL_H_
46