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_ui_resource_layer_tree_host_impl.h" 6 7#include "cc/test/fake_layer_tree_host_impl.h" 8 9namespace cc { 10 11FakeUIResourceLayerTreeHostImpl::FakeUIResourceLayerTreeHostImpl( 12 Proxy* proxy, 13 SharedBitmapManager* manager) 14 : FakeLayerTreeHostImpl(proxy, manager), fake_next_resource_id_(1) {} 15 16FakeUIResourceLayerTreeHostImpl::~FakeUIResourceLayerTreeHostImpl() {} 17 18void FakeUIResourceLayerTreeHostImpl::CreateUIResource( 19 UIResourceId uid, 20 const UIResourceBitmap& bitmap) { 21 if (ResourceIdForUIResource(uid)) 22 DeleteUIResource(uid); 23 24 UIResourceData data; 25 data.resource_id = fake_next_resource_id_++; 26 data.size = bitmap.GetSize(); 27 data.opaque = bitmap.GetOpaque(); 28 fake_ui_resource_map_[uid] = data; 29} 30 31void FakeUIResourceLayerTreeHostImpl::DeleteUIResource(UIResourceId uid) { 32 ResourceProvider::ResourceId id = ResourceIdForUIResource(uid); 33 if (id) 34 fake_ui_resource_map_.erase(uid); 35} 36 37ResourceProvider::ResourceId 38 FakeUIResourceLayerTreeHostImpl::ResourceIdForUIResource( 39 UIResourceId uid) const { 40 UIResourceMap::const_iterator iter = fake_ui_resource_map_.find(uid); 41 if (iter != fake_ui_resource_map_.end()) 42 return iter->second.resource_id; 43 return 0; 44} 45 46bool FakeUIResourceLayerTreeHostImpl::IsUIResourceOpaque(UIResourceId uid) 47 const { 48 UIResourceMap::const_iterator iter = fake_ui_resource_map_.find(uid); 49 DCHECK(iter != fake_ui_resource_map_.end()); 50 return iter->second.opaque; 51} 52 53} // namespace cc 54