diff options
Diffstat (limited to 'cc')
-rw-r--r-- | cc/resources/resource_pool.cc | 11 | ||||
-rw-r--r-- | cc/resources/resource_pool.h | 5 |
2 files changed, 8 insertions, 8 deletions
diff --git a/cc/resources/resource_pool.cc b/cc/resources/resource_pool.cc index ddf71cf..778ddbe 100644 --- a/cc/resources/resource_pool.cc +++ b/cc/resources/resource_pool.cc @@ -106,7 +106,7 @@ Resource* ResourcePool::AcquireResource(const gfx::Size& size, continue; // Transfer resource to |in_use_resources_|. - in_use_resources_.set(resource->id(), it->Pass()); + in_use_resources_[resource->id()] = std::move(*it); unused_resources_.erase(it); in_use_memory_usage_bytes_ += ResourceUtil::UncheckedSizeInBytes<size_t>( resource->size(), resource->format()); @@ -130,7 +130,7 @@ Resource* ResourcePool::AcquireResource(const gfx::Size& size, ++total_resource_count_; Resource* resource = pool_resource.get(); - in_use_resources_.set(resource->id(), std::move(pool_resource)); + in_use_resources_[resource->id()] = std::move(pool_resource); in_use_memory_usage_bytes_ += ResourceUtil::UncheckedSizeInBytes<size_t>( resource->size(), resource->format()); return resource; @@ -151,7 +151,7 @@ Resource* ResourcePool::TryAcquireResourceWithContentId(uint64_t content_id) { DCHECK(resource_provider_->CanLockForWrite(resource->id())); // Transfer resource to |in_use_resources_|. - in_use_resources_.set(resource->id(), it->Pass()); + in_use_resources_[resource->id()] = std::move(*it); unused_resources_.erase(it); in_use_memory_usage_bytes_ += ResourceUtil::UncheckedSizeInBytes<size_t>( resource->size(), resource->format()); @@ -162,12 +162,13 @@ void ResourcePool::ReleaseResource(Resource* resource, uint64_t content_id) { auto it = in_use_resources_.find(resource->id()); DCHECK(it != in_use_resources_.end()); - PoolResource* pool_resource = it->second; + PoolResource* pool_resource = it->second.get(); pool_resource->set_content_id(content_id); pool_resource->set_last_usage(base::TimeTicks::Now()); // Transfer resource to |busy_resources_|. - busy_resources_.push_front(in_use_resources_.take_and_erase(it)); + busy_resources_.push_front(std::move(it->second)); + in_use_resources_.erase(it); in_use_memory_usage_bytes_ -= ResourceUtil::UncheckedSizeInBytes<size_t>( pool_resource->size(), pool_resource->format()); diff --git a/cc/resources/resource_pool.h b/cc/resources/resource_pool.h index e5a2166..e17032b 100644 --- a/cc/resources/resource_pool.h +++ b/cc/resources/resource_pool.h @@ -6,8 +6,8 @@ #define CC_RESOURCES_RESOURCE_POOL_H_ #include <deque> +#include <map> -#include "base/containers/scoped_ptr_map.h" #include "base/memory/scoped_ptr.h" #include "base/trace_event/memory_dump_provider.h" #include "cc/base/cc_export.h" @@ -120,8 +120,7 @@ class CC_EXPORT ResourcePool : public base::trace_event::MemoryDumpProvider { ResourceDeque unused_resources_; ResourceDeque busy_resources_; - using ResourceMap = base::ScopedPtrMap<ResourceId, scoped_ptr<PoolResource>>; - ResourceMap in_use_resources_; + std::map<ResourceId, scoped_ptr<PoolResource>> in_use_resources_; scoped_refptr<base::SingleThreadTaskRunner> task_runner_; bool evict_expired_resources_pending_; |