| Index: cc/resources/resource_pool.h
|
| diff --git a/cc/resources/resource_pool.h b/cc/resources/resource_pool.h
|
| index 21bbb0a70d072432048b2a75c2d925d461f81448..ef036420a4cea055401ed80b3520fc5976d0252f 100644
|
| --- a/cc/resources/resource_pool.h
|
| +++ b/cc/resources/resource_pool.h
|
| @@ -12,10 +12,11 @@
|
| #include "cc/output/renderer.h"
|
| #include "cc/resources/resource.h"
|
| #include "cc/resources/resource_format.h"
|
| +#include "cc/resources/resource_provider.h"
|
|
|
| namespace cc {
|
|
|
| -class CC_EXPORT ResourcePool {
|
| +class CC_EXPORT ResourcePool : public ResourceProviderClient {
|
| public:
|
| class CC_EXPORT Resource : public cc::Resource {
|
| public:
|
| @@ -56,13 +57,17 @@ class CC_EXPORT ResourcePool {
|
| return resource_count_ - unused_resources_.size();
|
| }
|
|
|
| + // ResourceProviderClient implementation
|
| + virtual void ResourceExported(ResourceProvider::ResourceId id) OVERRIDE;
|
| + virtual void ResourceReturned(ResourceProvider::ResourceId id) OVERRIDE;
|
| +
|
| protected:
|
| explicit ResourcePool(ResourceProvider* resource_provider);
|
|
|
| bool ResourceUsageTooHigh();
|
|
|
| private:
|
| - ResourceProvider* resource_provider_;
|
| + base::WeakPtr<ResourceProvider> resource_provider_;
|
| size_t max_memory_usage_bytes_;
|
| size_t max_unused_memory_usage_bytes_;
|
| size_t max_resource_count_;
|
| @@ -72,6 +77,7 @@ class CC_EXPORT ResourcePool {
|
|
|
| typedef std::list<Resource*> ResourceList;
|
| ResourceList unused_resources_;
|
| + ResourceList exported_resources_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ResourcePool);
|
| };
|
|
|