fake_content_layer.h revision a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7
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_CONTENT_LAYER_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define CC_TEST_FAKE_CONTENT_LAYER_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/memory/scoped_ptr.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/layers/content_layer.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace cc { 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class FakeContentLayer : public ContentLayer { 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static scoped_refptr<FakeContentLayer> Create(ContentLayerClient* client) { 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return make_scoped_refptr(new FakeContentLayer(client)); 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) OVERRIDE; 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) size_t update_count() const { return update_count_; } 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void reset_update_count() { update_count_ = 0; } 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 257dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch size_t push_properties_count() const { return push_properties_count_; } 267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch void reset_push_properties_count() { push_properties_count_ = 0; } 277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch virtual bool Update( 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ResourceUpdateQueue* queue, 30eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch const OcclusionTracker* occlusion) OVERRIDE; 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 32a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) gfx::Rect LastPaintRect() const; 33a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 34558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch void set_always_update_resources(bool always_update_resources) { 35558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch always_update_resources_ = always_update_resources; 36558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch } 37558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch 387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch virtual void PushPropertiesTo(LayerImpl* layer) OVERRIDE; 397dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 404e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) virtual void OnOutputSurfaceCreated() OVERRIDE; 414e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) size_t output_surface_created_count() const { 424e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) return output_surface_created_count_; 434e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) } 444e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool HaveBackingAt(int i, int j); 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private: 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) explicit FakeContentLayer(ContentLayerClient* client); 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual ~FakeContentLayer(); 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) size_t update_count_; 527dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch size_t push_properties_count_; 534e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) size_t output_surface_created_count_; 54558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch bool always_update_resources_; 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace cc 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // CC_TEST_FAKE_CONTENT_LAYER_H_ 60