Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / cc / test / fake_layer_tree_host_client.h
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_CLIENT_H_
6 #define CC_TEST_FAKE_LAYER_TREE_HOST_CLIENT_H_
7
8 #include "base/memory/scoped_ptr.h"
9 #include "cc/input/input_handler.h"
10 #include "cc/test/test_context_provider.h"
11 #include "cc/trees/layer_tree_host_client.h"
12 #include "cc/trees/layer_tree_host_single_thread_client.h"
13
14 namespace cc {
15 class OutputSurface;
16
17 class FakeLayerTreeHostClient : public LayerTreeHostClient,
18                                 public LayerTreeHostSingleThreadClient {
19  public:
20   enum RendererOptions {
21     DIRECT_3D,
22     DIRECT_SOFTWARE,
23     DELEGATED_3D,
24     DELEGATED_SOFTWARE
25   };
26   explicit FakeLayerTreeHostClient(RendererOptions options);
27   virtual ~FakeLayerTreeHostClient();
28
29   // Caller responsible for unsetting this and maintaining the host's lifetime.
30   void SetLayerTreeHost(LayerTreeHost* host) { host_ = host; }
31
32   // LayerTreeHostClient implementation.
33   virtual void WillBeginMainFrame(int frame_id) OVERRIDE {}
34   virtual void DidBeginMainFrame() OVERRIDE {}
35   virtual void BeginMainFrame(const BeginFrameArgs& args) OVERRIDE {}
36   virtual void Layout() OVERRIDE {}
37   virtual void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta,
38                                    float page_scale,
39                                    float top_controls_delta) OVERRIDE {}
40
41   virtual void RequestNewOutputSurface(bool fallback) OVERRIDE;
42   virtual void DidInitializeOutputSurface() OVERRIDE {}
43   virtual void WillCommit() OVERRIDE {}
44   virtual void DidCommit() OVERRIDE {}
45   virtual void DidCommitAndDrawFrame() OVERRIDE {}
46   virtual void DidCompleteSwapBuffers() OVERRIDE {}
47
48   // LayerTreeHostSingleThreadClient implementation.
49   virtual void DidPostSwapBuffers() OVERRIDE {}
50   virtual void DidAbortSwapBuffers() OVERRIDE {}
51
52  private:
53   bool use_software_rendering_;
54   bool use_delegating_renderer_;
55
56   LayerTreeHost* host_;
57 };
58
59 }  // namespace cc
60
61 #endif  // CC_TEST_FAKE_LAYER_TREE_HOST_CLIENT_H_