1// Copyright 2013 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#include "cc/test/fake_scoped_ui_resource.h" 6 7#include "cc/trees/layer_tree_host.h" 8 9namespace cc { 10 11namespace { 12 13UIResourceBitmap CreateMockUIResourceBitmap() { 14 bool is_opaque = false; 15 return UIResourceBitmap(gfx::Size(1, 1), is_opaque); 16} 17 18} // anonymous namespace 19 20scoped_ptr<FakeScopedUIResource> FakeScopedUIResource::Create( 21 LayerTreeHost* host) { 22 return make_scoped_ptr(new FakeScopedUIResource(host)); 23} 24 25FakeScopedUIResource::FakeScopedUIResource(LayerTreeHost* host) 26 : ScopedUIResource(host, CreateMockUIResourceBitmap()) { 27 // The constructor of ScopedUIResource already created a resource so we need 28 // to delete the created resource to wipe the state clean. 29 host_->DeleteUIResource(id_); 30 ResetCounters(); 31 id_ = host_->CreateUIResource(this); 32} 33 34UIResourceBitmap FakeScopedUIResource::GetBitmap(UIResourceId uid, 35 bool resource_lost) { 36 resource_create_count++; 37 if (resource_lost) 38 lost_resource_count++; 39 return ScopedUIResource::GetBitmap(uid, resource_lost); 40} 41 42void FakeScopedUIResource::ResetCounters() { 43 resource_create_count = 0; 44 lost_resource_count = 0; 45} 46 47} // namespace cc 48