Chromium Code Reviews| Index: cc/tile_manager.h |
| diff --git a/cc/tile_manager.h b/cc/tile_manager.h |
| index 43c9064125097f9a0c5348d9b6ecaba89d4dbbf6..086725f5a8547c5c814fa2226c0eb66ee24bd36b 100644 |
| --- a/cc/tile_manager.h |
| +++ b/cc/tile_manager.h |
| @@ -57,6 +57,8 @@ class CC_EXPORT ManagedTileState { |
| TileManagerBin bin; |
| TileResolution resolution; |
| float time_to_needed_in_seconds; |
| + bool has_image_decoding_info; |
| + std::vector<SkPixelRef*> pending_pixel_refs; |
|
reveman
2012/12/10 17:58:12
Should these be in the persistent state group abov
qinmin
2012/12/10 22:52:51
Done.
|
| }; |
| // This class manages tiles, deciding which should get rasterized and which |
| @@ -96,6 +98,12 @@ class CC_EXPORT TileManager { |
| scoped_refptr<PicturePileImpl>, |
| RenderingStats*); |
| void DidFinishTileInitialization(Tile*, scoped_ptr<ResourcePool::Resource>); |
| + bool HasDispatchedImageDecodingTasks(Tile*); |
| + void OnImageDecodingTaskCompleted(scoped_refptr<Tile>, uint32_t); |
| + void DispatchOneImageDecodingTask( |
| + RasterThread*, scoped_refptr<Tile>, SkPixelRef*); |
| + void GetImageInformationForTile(Tile*); |
| + RasterThread* GetFreeRasterThread(); |
| TileManagerClient* client_; |
| scoped_ptr<ResourcePool> resource_pool_; |
| @@ -106,6 +114,11 @@ class CC_EXPORT TileManager { |
| typedef std::vector<Tile*> TileVector; |
| TileVector tiles_; |
| TileVector tiles_that_need_to_be_rasterized_; |
| + // Tiles that are waiting for image decoding tasks. |
| + TileVector tiles_waiting_for_image_decoding_; |
| + |
| + typedef base::hash_map<uint32_t, SkPixelRef*> PixelRefMap; |
| + PixelRefMap pending_decode_tasks_; |
| typedef ScopedPtrVector<RasterThread> RasterThreadVector; |
| RasterThreadVector raster_threads_; |