| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/trees/layer_tree_host_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/containers/hash_tables.h" | 10 #include "base/containers/hash_tables.h" |
| (...skipping 1545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1556 } | 1556 } |
| 1557 | 1557 |
| 1558 void LayerTreeHostImpl::ReleaseTreeResources() { | 1558 void LayerTreeHostImpl::ReleaseTreeResources() { |
| 1559 if (active_tree_->root_layer()) | 1559 if (active_tree_->root_layer()) |
| 1560 SendReleaseResourcesRecursive(active_tree_->root_layer()); | 1560 SendReleaseResourcesRecursive(active_tree_->root_layer()); |
| 1561 if (pending_tree_ && pending_tree_->root_layer()) | 1561 if (pending_tree_ && pending_tree_->root_layer()) |
| 1562 SendReleaseResourcesRecursive(pending_tree_->root_layer()); | 1562 SendReleaseResourcesRecursive(pending_tree_->root_layer()); |
| 1563 if (recycle_tree_ && recycle_tree_->root_layer()) | 1563 if (recycle_tree_ && recycle_tree_->root_layer()) |
| 1564 SendReleaseResourcesRecursive(recycle_tree_->root_layer()); | 1564 SendReleaseResourcesRecursive(recycle_tree_->root_layer()); |
| 1565 | 1565 |
| 1566 // Remove all existing maps from UIResourceId to ResourceId. | 1566 DeleteAllUIResources(); |
| 1567 ui_resource_map_.clear(); | |
| 1568 } | 1567 } |
| 1569 | 1568 |
| 1570 void LayerTreeHostImpl::CreateAndSetRenderer( | 1569 void LayerTreeHostImpl::CreateAndSetRenderer( |
| 1571 OutputSurface* output_surface, | 1570 OutputSurface* output_surface, |
| 1572 ResourceProvider* resource_provider, | 1571 ResourceProvider* resource_provider, |
| 1573 bool skip_gl_renderer) { | 1572 bool skip_gl_renderer) { |
| 1574 DCHECK(!renderer_); | 1573 DCHECK(!renderer_); |
| 1575 if (output_surface->capabilities().delegated_rendering) { | 1574 if (output_surface->capabilities().delegated_rendering) { |
| 1576 renderer_ = | 1575 renderer_ = |
| 1577 DelegatingRenderer::Create(this, output_surface, resource_provider); | 1576 DelegatingRenderer::Create(this, output_surface, resource_provider); |
| (...skipping 990 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2568 } | 2567 } |
| 2569 | 2568 |
| 2570 void LayerTreeHostImpl::DeleteUIResource(UIResourceId uid) { | 2569 void LayerTreeHostImpl::DeleteUIResource(UIResourceId uid) { |
| 2571 ResourceProvider::ResourceId id = ResourceIdForUIResource(uid); | 2570 ResourceProvider::ResourceId id = ResourceIdForUIResource(uid); |
| 2572 if (id) { | 2571 if (id) { |
| 2573 resource_provider_->DeleteResource(id); | 2572 resource_provider_->DeleteResource(id); |
| 2574 ui_resource_map_.erase(uid); | 2573 ui_resource_map_.erase(uid); |
| 2575 } | 2574 } |
| 2576 } | 2575 } |
| 2577 | 2576 |
| 2577 void LayerTreeHostImpl::DeleteAllUIResources() { |
| 2578 for (UIResourceMap::const_iterator iter = ui_resource_map_.begin(); |
| 2579 iter != ui_resource_map_.end(); |
| 2580 ++iter) { |
| 2581 resource_provider_->DeleteResource(iter->second); |
| 2582 } |
| 2583 ui_resource_map_.clear(); |
| 2584 } |
| 2585 |
| 2578 ResourceProvider::ResourceId LayerTreeHostImpl::ResourceIdForUIResource( | 2586 ResourceProvider::ResourceId LayerTreeHostImpl::ResourceIdForUIResource( |
| 2579 UIResourceId uid) const { | 2587 UIResourceId uid) const { |
| 2580 UIResourceMap::const_iterator iter = ui_resource_map_.find(uid); | 2588 UIResourceMap::const_iterator iter = ui_resource_map_.find(uid); |
| 2581 if (iter != ui_resource_map_.end()) | 2589 if (iter != ui_resource_map_.end()) |
| 2582 return iter->second; | 2590 return iter->second; |
| 2583 return 0; | 2591 return 0; |
| 2584 } | 2592 } |
| 2585 | 2593 |
| 2586 } // namespace cc | 2594 } // namespace cc |
| OLD | NEW |