Chromium Code Reviews| Index: cc/trees/layer_tree_host_impl.cc |
| =================================================================== |
| --- cc/trees/layer_tree_host_impl.cc (revision 210393) |
| +++ cc/trees/layer_tree_host_impl.cc (working copy) |
| @@ -49,6 +49,7 @@ |
| #include "cc/trees/quad_culler.h" |
| #include "cc/trees/single_thread_proxy.h" |
| #include "cc/trees/tree_synchronizer.h" |
| +#include "gpu/GLES2/gl2extchromium.h" |
| #include "ui/gfx/size_conversions.h" |
| #include "ui/gfx/vector2d_conversions.h" |
| @@ -564,6 +565,7 @@ |
| TRACE_EVENT0("cc", |
| "LayerTreeHostImpl::CalculateRenderPasses::EmptyDamageRect"); |
| frame->has_no_damage = true; |
| + |
|
aelias_OOO_until_Jul13
2013/07/10 23:07:22
nit: extra whitespace
powei
2013/07/11 23:54:44
Done.
|
| // A copy request should cause damage, so we should not have any copy |
| // requests in this case. |
| DCHECK_EQ(0u, active_tree_->LayersWithCopyOutputRequest().size()); |
| @@ -2362,4 +2364,43 @@ |
| debug_state_ = debug_state; |
| } |
| +void LayerTreeHostImpl::CreateUIResource(UIResourceId uid, |
| + scoped_refptr<UIResourceBitmap> bitmap, |
| + bool async) { |
| + ResourceProvider::ResourceId id = |
| + resource_provider_->CreateGLTexture(bitmap->GetSize(), |
| + GL_RGBA, |
| + GL_TEXTURE_POOL_UNMANAGED_CHROMIUM, |
| + ResourceProvider::TextureUsageAny); |
| + |
| + ui_resource_map_[uid] = id; |
| + gfx::Size bitmap_size = bitmap->GetSize(); |
| + resource_provider_->SetPixels(id, |
| + reinterpret_cast<uint8_t*>(bitmap->GetPixels()), |
| + gfx::Rect(1, 1, bitmap_size.width(), |
|
aelias_OOO_until_Jul13
2013/07/10 23:07:22
"1, 1" looks wrong here. It should be 0, 0. In f
powei
2013/07/11 23:54:44
Done.
|
| + bitmap_size.height()), |
| + gfx::Rect(1, 1, bitmap_size.width(), |
| + bitmap_size.height()), |
| + gfx::Vector2d(0, 0)); |
| + |
| + client_->UIResourceCreatedOnImplThread(uid); |
| +} |
| + |
| +void LayerTreeHostImpl::DeleteUIResource(UIResourceId uid) { |
| + ResourceProvider::ResourceId id = ResourceIdForUIResource(uid); |
| + if (id) { |
| + resource_provider_->DeleteResource(id); |
| + ui_resource_map_.erase(uid); |
| + } |
| +} |
| + |
| +ResourceProvider::ResourceId |
| +LayerTreeHostImpl::ResourceIdForUIResource(UIResourceId uid) const { |
| + if (ui_resource_map_.find(uid) != ui_resource_map_.end()) { |
| + return ui_resource_map_.find(uid)->second; |
| + } |
| + return 0; |
| +} |
| + |
| + |
| } // namespace cc |