| Index: cc/resources/managed_tile_state.h
|
| diff --git a/cc/resources/managed_tile_state.h b/cc/resources/managed_tile_state.h
|
| index 7d5eec7cdf764f4e3417fde4a763aad3c0f55ba4..51271eca00e114ade40456c1e5e13bf9d9500489 100644
|
| --- a/cc/resources/managed_tile_state.h
|
| +++ b/cc/resources/managed_tile_state.h
|
| @@ -45,9 +45,9 @@ class CC_EXPORT ManagedTileState {
|
|
|
| ResourceProvider::ResourceId get_resource_id() const {
|
| DCHECK(mode_ == RESOURCE_MODE);
|
| - DCHECK(resource_);
|
| + DCHECK(resource_id_);
|
| DCHECK(memory_state_ == USING_RELEASABLE_MEMORY || forced_upload_);
|
| - return resource_->id();
|
| + return resource_id_;
|
| }
|
|
|
| SkColor get_solid_color() const {
|
| @@ -67,6 +67,11 @@ class CC_EXPORT ManagedTileState {
|
|
|
| size_t GPUMemoryUsageInBytes() const;
|
|
|
| + void SetResourceForTesting(scoped_ptr<ResourcePool::Resource> resource) {
|
| + resource_ = resource.Pass();
|
| + resource_id_ = resource_->id();
|
| + }
|
| +
|
| scoped_ptr<ResourcePool::Resource>& GetResourceForTesting() {
|
| return resource_;
|
| }
|
| @@ -90,16 +95,22 @@ class CC_EXPORT ManagedTileState {
|
| mode_ = SOLID_COLOR_MODE;
|
| solid_color_ = color;
|
| memory_state_ = NOT_ALLOWED_TO_USE_MEMORY;
|
| + resource_id_ = 0;
|
| }
|
|
|
| void set_rasterize_on_demand() {
|
| mode_ = PICTURE_PILE_MODE;
|
| memory_state_ = NOT_ALLOWED_TO_USE_MEMORY;
|
| + resource_id_ = 0;
|
| }
|
|
|
| Mode mode_;
|
| SkColor solid_color_;
|
|
|
| + // TODO(reveman): Eliminate the need for both |resource_id_|
|
| + // and |resource| by re-factoring the "force upload"
|
| + // mechanism. crbug.com/245767
|
| + ResourceProvider::ResourceId resource_id_;
|
| scoped_ptr<ResourcePool::Resource> resource_;
|
| GLenum resource_format_;
|
| TileVersionMemoryState memory_state_;
|
| @@ -116,7 +127,7 @@ class CC_EXPORT ManagedTileState {
|
| TileVersion tile_version;
|
| bool picture_pile_analyzed;
|
| PicturePileImpl::Analysis picture_pile_analysis;
|
| - RasterWorkerPool::Task raster_task;
|
| + RasterWorkerPool::RasterTask raster_task;
|
|
|
| // Ephemeral state, valid only during TileManager::ManageTiles.
|
| bool is_in_never_bin_on_both_trees() const {
|
|
|