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_PROXY_H_
6#define CC_TEST_FAKE_PROXY_H_
7
8#include "base/single_thread_task_runner.h"
9#include "cc/trees/layer_tree_host.h"
10#include "cc/trees/proxy.h"
11
12namespace cc {
13
14class FakeProxy : public Proxy {
15 public:
16  FakeProxy() : Proxy(NULL), layer_tree_host_(NULL) {}
17  explicit FakeProxy(
18      scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner)
19      : Proxy(impl_task_runner),
20        layer_tree_host_(NULL) {}
21
22  void SetLayerTreeHost(LayerTreeHost* host);
23
24  virtual void FinishAllRendering() OVERRIDE {}
25  virtual bool IsStarted() const OVERRIDE;
26  virtual void SetLayerTreeHostClientReady() OVERRIDE {}
27  virtual void SetVisible(bool visible) OVERRIDE {}
28  virtual const RendererCapabilities& GetRendererCapabilities() const OVERRIDE;
29  virtual void SetNeedsAnimate() OVERRIDE {}
30  virtual void SetNeedsUpdateLayers() OVERRIDE {}
31  virtual void SetNeedsCommit() OVERRIDE {}
32  virtual void SetNeedsRedraw(const gfx::Rect& damage_rect) OVERRIDE {}
33  virtual void SetNextCommitWaitsForActivation() OVERRIDE {}
34  virtual void NotifyInputThrottledUntilCommit() OVERRIDE {}
35  virtual void SetDeferCommits(bool defer_commits) OVERRIDE {}
36  virtual void MainThreadHasStoppedFlinging() OVERRIDE {}
37  virtual bool BeginMainFrameRequested() const OVERRIDE;
38  virtual bool CommitRequested() const OVERRIDE;
39  virtual void Start() OVERRIDE {}
40  virtual void Stop() OVERRIDE {}
41  virtual void ForceSerializeOnSwapBuffers() OVERRIDE {}
42  virtual size_t MaxPartialTextureUpdates() const OVERRIDE;
43  virtual void SetDebugState(const LayerTreeDebugState& debug_state) OVERRIDE {}
44  virtual bool CommitPendingForTesting() OVERRIDE;
45  virtual scoped_ptr<base::Value> AsValue() const OVERRIDE;
46
47  virtual RendererCapabilities& GetRendererCapabilities();
48  void SetMaxPartialTextureUpdates(size_t max);
49
50 private:
51  RendererCapabilities capabilities_;
52  size_t max_partial_texture_updates_;
53  LayerTreeHost* layer_tree_host_;
54};
55
56}  // namespace cc
57
58#endif  // CC_TEST_FAKE_PROXY_H_
59