Index: cc/trees/layer_tree_host.cc |
=================================================================== |
--- cc/trees/layer_tree_host.cc (revision 210393) |
+++ cc/trees/layer_tree_host.cc (working copy) |
@@ -73,7 +73,8 @@ |
LayerTreeHost::LayerTreeHost(LayerTreeHostClient* client, |
const LayerTreeSettings& settings) |
- : animating_(false), |
+ : ui_resource_counter_(1), |
+ animating_(false), |
needs_full_tree_sync_(true), |
needs_filter_context_(false), |
client_(client), |
@@ -96,6 +97,7 @@ |
partial_texture_update_requests_(0), |
in_paint_layer_contents_(false), |
total_frames_used_for_lcd_text_metrics_(0) { |
+ |
if (settings_.accelerated_animation_enabled) |
animation_registrar_ = AnimationRegistrar::Create(); |
s_num_layer_tree_instances++; |
@@ -1055,4 +1057,31 @@ |
return proxy_->CapturePicture(); |
} |
+UIResourceId |
+LayerTreeHost::CreateUIResource(scoped_refptr<UIResourceBitmap> bitmap, |
+ UIResourceManagerClient* client) { |
+ ui_resource_client_map_[ui_resource_counter_] = client; |
+ proxy_->CreateUIResource(ui_resource_counter_, |
+ bitmap, |
+ true); |
+ return ui_resource_counter_++; |
+} |
+ |
+// Deletes a UI resource. May safely be called more than once. |
+void LayerTreeHost::DeleteUIResource(UIResourceId uid) { |
+ proxy_->DeleteUIResource(uid); |
+} |
+ |
+void LayerTreeHost::UIResourceReady(UIResourceId id) { |
+ if (ui_resource_client_map_.find(id) != ui_resource_client_map_.end()) { |
+ ui_resource_client_map_[id]->UIResourceReady(id); |
+ } |
+} |
+ |
+void LayerTreeHost::UIResourceLost(UIResourceId id) { |
+ if (ui_resource_client_map_.find(id) != ui_resource_client_map_.end()) |
+ ui_resource_client_map_[id]->UIResourceLost(id); |
+} |
+ |
+ |
} // namespace cc |