fake_layer_tree_host_impl.h revision 03b57e008b61dfcb1fbad3aea950ae0e001748b0
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 BeginFrameArgs CurrentBeginFrameArgs() const OVERRIDE;
32  void SetCurrentBeginFrameArgs(const BeginFrameArgs& args);
33  void UpdateNumChildrenAndDrawPropertiesForActiveTree();
34  static void UpdateNumChildrenAndDrawProperties(LayerTreeImpl* layerTree);
35  static int RecursiveUpdateNumChildren(LayerImpl* layer);
36
37  using LayerTreeHostImpl::ActivateSyncTree;
38  using LayerTreeHostImpl::manage_tiles_needed;
39
40 private:
41  BeginFrameArgs current_begin_frame_args_;
42  FakeLayerTreeHostImplClient client_;
43  FakeRenderingStatsInstrumentation stats_instrumentation_;
44};
45
46}  // namespace cc
47
48#endif  // CC_TEST_FAKE_LAYER_TREE_HOST_IMPL_H_
49