Index: cc/tile_manager.h |
diff --git a/cc/tile_manager.h b/cc/tile_manager.h |
index 465ca5e40a9ad84ae0749b1b9fd91c2fa928ff38..21f922262c42ff6a2c22cee761851fe88b6e7e91 100644 |
--- a/cc/tile_manager.h |
+++ b/cc/tile_manager.h |
@@ -96,13 +96,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); |