blob: b5093ad96c43490e27587e204b580bb41b4838f1 [file] [log] [blame]
James Robinson646469d2014-10-03 15:33:28 -07001// 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
14namespace cc {
15class OutputSurface;
16
17class 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);
James Robinsone1b30cf2014-10-21 12:25:40 -070027 ~FakeLayerTreeHostClient() override;
James Robinson646469d2014-10-03 15:33:28 -070028
29 // Caller responsible for unsetting this and maintaining the host's lifetime.
30 void SetLayerTreeHost(LayerTreeHost* host) { host_ = host; }
31
32 // LayerTreeHostClient implementation.
James Robinson7b766f42015-02-06 15:14:04 -080033 void WillBeginMainFrame() override {}
James Robinsone1b30cf2014-10-21 12:25:40 -070034 void DidBeginMainFrame() override {}
35 void BeginMainFrame(const BeginFrameArgs& args) override {}
Benjamin Lermane8ca9b72015-02-24 16:42:13 +010036 void BeginMainFrameNotExpectedSoon() override {}
James Robinsone1b30cf2014-10-21 12:25:40 -070037 void Layout() override {}
James Robinson7b766f42015-02-06 15:14:04 -080038 void ApplyViewportDeltas(const gfx::Vector2dF& inner_delta,
39 const gfx::Vector2dF& outer_delta,
Przemyslaw Pietrzkiewiczea77f0b2014-12-10 15:35:08 +010040 const gfx::Vector2dF& elastic_overscroll_delta,
James Robinsone1b30cf2014-10-21 12:25:40 -070041 float page_scale,
42 float top_controls_delta) override {}
43 void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta,
44 float page_scale,
45 float top_controls_delta) override {}
James Robinson646469d2014-10-03 15:33:28 -070046
Etienne Membrivesb1556b32014-12-16 13:56:09 +010047 void RequestNewOutputSurface() override;
James Robinsone1b30cf2014-10-21 12:25:40 -070048 void DidInitializeOutputSurface() override {}
Etienne Membrivesb1556b32014-12-16 13:56:09 +010049 void DidFailToInitializeOutputSurface() override;
James Robinsone1b30cf2014-10-21 12:25:40 -070050 void WillCommit() override {}
51 void DidCommit() override {}
52 void DidCommitAndDrawFrame() override {}
53 void DidCompleteSwapBuffers() override {}
Benjamin Lermandf06e5f2015-01-22 13:22:57 +010054 void DidCompletePageScaleAnimation() override {}
James Robinson646469d2014-10-03 15:33:28 -070055
56 // LayerTreeHostSingleThreadClient implementation.
James Robinsone1b30cf2014-10-21 12:25:40 -070057 void DidPostSwapBuffers() override {}
58 void DidAbortSwapBuffers() override {}
James Robinson646469d2014-10-03 15:33:28 -070059
60 private:
61 bool use_software_rendering_;
62 bool use_delegating_renderer_;
63
64 LayerTreeHost* host_;
65};
66
67} // namespace cc
68
69#endif // CC_TEST_FAKE_LAYER_TREE_HOST_CLIENT_H_