12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright 2012 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef CC_TEST_FAKE_LAYER_TREE_HOST_IMPL_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define CC_TEST_FAKE_LAYER_TREE_HOST_IMPL_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/test/fake_layer_tree_host_impl_client.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/test/fake_rendering_stats_instrumentation.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/trees/layer_tree_host_impl.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/trees/single_thread_proxy.h" 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace cc { 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class FakeLayerTreeHostImpl : public LayerTreeHostImpl { 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 1723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) FakeLayerTreeHostImpl(Proxy* proxy, SharedBitmapManager* manager); 1823730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) FakeLayerTreeHostImpl(const LayerTreeSettings& settings, 1923730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) Proxy* proxy, 2023730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) SharedBitmapManager* manager); 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual ~FakeLayerTreeHostImpl(); 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void ForcePrepareToDraw() { 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) LayerTreeHostImpl::FrameData frame_data; 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) PrepareToDraw(&frame_data); 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DidDrawAllLayers(frame_data); 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 29868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) virtual void CreatePendingTree() OVERRIDE; 30868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 3103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) virtual BeginFrameArgs CurrentBeginFrameArgs() const OVERRIDE; 3203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) void SetCurrentBeginFrameArgs(const BeginFrameArgs& args); 336e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) void UpdateNumChildrenAndDrawPropertiesForActiveTree(); 346e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) static void UpdateNumChildrenAndDrawProperties(LayerTreeImpl* layerTree); 356e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) static int RecursiveUpdateNumChildren(LayerImpl* layer); 3658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch using LayerTreeHostImpl::ActivateSyncTree; 3858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) using LayerTreeHostImpl::manage_tiles_needed; 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private: 4103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) BeginFrameArgs current_begin_frame_args_; 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) FakeLayerTreeHostImplClient client_; 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) FakeRenderingStatsInstrumentation stats_instrumentation_; 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace cc 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // CC_TEST_FAKE_LAYER_TREE_HOST_IMPL_H_ 49