Update To 11.40.268.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   ~FakeLayerTreeHostClient() override;
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   void WillBeginMainFrame(int frame_id) override {}
34   void DidBeginMainFrame() override {}
35   void BeginMainFrame(const BeginFrameArgs& args) override {}
36   void Layout() override {}
37   void ApplyViewportDeltas(const gfx::Vector2d& inner_delta,
38                            const gfx::Vector2d& outer_delta,
39                            float page_scale,
40                            float top_controls_delta) override {}
41   void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta,
42                            float page_scale,
43                            float top_controls_delta) override {}
44
45   void RequestNewOutputSurface(bool fallback) override;
46   void DidInitializeOutputSurface() override {}
47   void WillCommit() override {}
48   void DidCommit() override {}
49   void DidCommitAndDrawFrame() override {}
50   void DidCompleteSwapBuffers() override {}
51
52   // LayerTreeHostSingleThreadClient implementation.
53   void DidPostSwapBuffers() override {}
54   void DidAbortSwapBuffers() override {}
55
56  private:
57   bool use_software_rendering_;
58   bool use_delegating_renderer_;
59
60   LayerTreeHost* host_;
61 };
62
63 }  // namespace cc
64
65 #endif  // CC_TEST_FAKE_LAYER_TREE_HOST_CLIENT_H_