15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CC_TEST_FAKE_PROXY_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CC_TEST_FAKE_PROXY_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "base/single_thread_task_runner.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/trees/layer_tree_host.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/trees/proxy.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace cc { 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class FakeProxy : public Proxy { 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch FakeProxy() : Proxy(NULL), layer_tree_host_(NULL) {} 17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch explicit FakeProxy( 18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner) 19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch : Proxy(impl_task_runner), 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) layer_tree_host_(NULL) {} 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) void SetLayerTreeHost(LayerTreeHost* host); 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual bool CompositeAndReadback(void* pixels, gfx::Rect rect) OVERRIDE; 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void FinishAllRendering() OVERRIDE {} 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual bool IsStarted() const OVERRIDE; 27b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) virtual void SetLayerTreeHostClientReady() OVERRIDE {} 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void SetVisible(bool visible) OVERRIDE {} 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual void CreateAndInitializeOutputSurface() OVERRIDE; 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual const RendererCapabilities& GetRendererCapabilities() const OVERRIDE; 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void SetNeedsAnimate() OVERRIDE {} 32558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch virtual void SetNeedsUpdateLayers() OVERRIDE {} 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void SetNeedsCommit() OVERRIDE {} 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual void SetNeedsRedraw(gfx::Rect damage_rect) OVERRIDE {} 35424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) virtual void SetNextCommitWaitsForActivation() OVERRIDE {} 36a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) virtual void NotifyInputThrottledUntilCommit() OVERRIDE {} 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void SetDeferCommits(bool defer_commits) OVERRIDE {} 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void MainThreadHasStoppedFlinging() OVERRIDE {} 391e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) virtual bool BeginMainFrameRequested() const OVERRIDE; 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual bool CommitRequested() const OVERRIDE; 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual void Start(scoped_ptr<OutputSurface> first_output_surface) OVERRIDE {} 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void Stop() OVERRIDE {} 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void ForceSerializeOnSwapBuffers() OVERRIDE {} 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual size_t MaxPartialTextureUpdates() const OVERRIDE; 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void AcquireLayerTextures() OVERRIDE {} 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual bool CommitPendingForTesting() OVERRIDE; 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual scoped_ptr<base::Value> AsValue() const OVERRIDE; 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual RendererCapabilities& GetRendererCapabilities(); 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void SetMaxPartialTextureUpdates(size_t max); 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private: 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) RendererCapabilities capabilities_; 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) size_t max_partial_texture_updates_; 55c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) LayerTreeHost* layer_tree_host_; 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace cc 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // CC_TEST_FAKE_PROXY_H_ 61