summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
Diffstat (limited to 'cc')
-rw-r--r--cc/resources/resource_pool.cc11
-rw-r--r--cc/resources/resource_pool.h5
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_;