Index: cc/resources/tile_manager.h |
diff --git a/cc/resources/tile_manager.h b/cc/resources/tile_manager.h |
index 8008b330c0b61b2da9982dac50cfbbcd75c0bf54..a91e0f7a8c8a167a276c6705910deaca1b2f9814 100644 |
--- a/cc/resources/tile_manager.h |
+++ b/cc/resources/tile_manager.h |
@@ -33,7 +33,7 @@ class ResourceProvider; |
class CC_EXPORT TileManagerClient { |
public: |
virtual void NotifyReadyToActivate() = 0; |
- virtual void NotifyTileInitialized(const Tile* tile) = 0; |
+ virtual void NotifyTileStateChanged(const Tile* tile) = 0; |
protected: |
virtual ~TileManagerClient() {} |
@@ -156,10 +156,10 @@ class CC_EXPORT TileManager : public RasterizerClient, |
static scoped_ptr<TileManager> Create( |
TileManagerClient* client, |
+ base::SequencedTaskRunner* task_runner, |
ResourcePool* resource_pool, |
Rasterizer* rasterizer, |
Rasterizer* gpu_rasterizer, |
- bool use_rasterize_on_demand, |
RenderingStatsInstrumentation* rendering_stats_instrumentation); |
virtual ~TileManager(); |
@@ -232,10 +232,10 @@ class CC_EXPORT TileManager : public RasterizerClient, |
protected: |
TileManager(TileManagerClient* client, |
+ base::SequencedTaskRunner* task_runner, |
ResourcePool* resource_pool, |
Rasterizer* rasterizer, |
Rasterizer* gpu_rasterizer, |
- bool use_rasterize_on_demand, |
RenderingStatsInstrumentation* rendering_stats_instrumentation); |
// Methods called by Tile |
@@ -287,13 +287,19 @@ class CC_EXPORT TileManager : public RasterizerClient, |
void FreeResourceForTile(Tile* tile, RasterMode mode); |
void FreeResourcesForTile(Tile* tile); |
void FreeUnusedResourcesForTile(Tile* tile); |
+ void FreeResourcesForTileAndNotifyClientIfTileWasReadyToDraw(Tile* tile); |
scoped_refptr<ImageDecodeTask> CreateImageDecodeTask(Tile* tile, |
SkPixelRef* pixel_ref); |
scoped_refptr<RasterTask> CreateRasterTask(Tile* tile); |
scoped_ptr<base::Value> GetMemoryRequirementsAsValue() const; |
void UpdatePrioritizedTileSetIfNeeded(); |
+ bool IsReadyToActivate() const; |
+ void ScheduleCheckIfReadyToActivate(); |
+ void CheckIfReadyToActivate(); |
+ |
TileManagerClient* client_; |
+ scoped_refptr<base::SequencedTaskRunner> task_runner_; |
ResourcePool* resource_pool_; |
scoped_ptr<RasterizerDelegate> rasterizer_delegate_; |
GlobalStateThatImpactsTilePriority global_state_; |
@@ -333,8 +339,6 @@ class CC_EXPORT TileManager : public RasterizerClient, |
std::vector<Tile*> released_tiles_; |
- bool use_rasterize_on_demand_; |
- |
ResourceFormat resource_format_; |
// Queues used when scheduling raster tasks. |
@@ -344,6 +348,10 @@ class CC_EXPORT TileManager : public RasterizerClient, |
std::vector<PictureLayerImpl*> layers_; |
+ bool check_if_ready_to_activate_pending_; |
+ |
+ base::WeakPtrFactory<TileManager> weak_ptr_factory_; |
+ |
DISALLOW_COPY_AND_ASSIGN(TileManager); |
}; |