Index: cc/tile_manager.h |
diff --git a/cc/tile_manager.h b/cc/tile_manager.h |
index 6f51dea5a44992e9f34b9cf5627f101cb7416b4f..574c14a9444aa3f8ba4e44f146a8d84788d0ebc6 100644 |
--- a/cc/tile_manager.h |
+++ b/cc/tile_manager.h |
@@ -117,13 +117,22 @@ class CC_EXPORT TileManager { |
void RegisterTile(Tile* tile); |
void UnregisterTile(Tile* tile); |
void WillModifyTilePriority( |
- Tile* tile, WhichTree tree, const TilePriority& new_priority); |
+ Tile* tile, WhichTree tree, const TilePriority& new_priority) { |
+ // TODO(nduca): Do something smarter if reprioritization turns out to be |
+ // costly. |
+ ScheduleManageTiles(); |
+ } |
private: |
void SortTiles(); |
void AssignGpuMemoryToTiles(); |
void FreeResourcesForTile(Tile* tile); |
- void ScheduleManageTiles(); |
+ void ScheduleManageTiles() { |
+ if (manage_tiles_pending_) |
+ return; |
+ client_->ScheduleManageTiles(); |
+ manage_tiles_pending_ = true; |
+ } |
void DispatchMoreTasks(); |
void GatherPixelRefsForTile(Tile* tile); |
void DispatchImageDecodeTasksForTile(Tile* tile); |