Index: cc/tiles/tile_manager.cc |
diff --git a/cc/tiles/tile_manager.cc b/cc/tiles/tile_manager.cc |
index 0c15378545f86b7d9e6b14bc954e6ae3ee99e63b..9b736eecb36ea6ac64eedfdb7d85f21cec03fc67 100644 |
--- a/cc/tiles/tile_manager.cc |
+++ b/cc/tiles/tile_manager.cc |
@@ -342,12 +342,14 @@ RasterTaskCompletionStatsAsValue(const RasterTaskCompletionStats& stats) { |
return std::move(state); |
} |
-TileManager::TileManager(TileManagerClient* client, |
- base::SequencedTaskRunner* task_runner, |
- size_t scheduled_raster_task_limit, |
- bool use_partial_raster) |
+TileManager::TileManager( |
+ TileManagerClient* client, |
+ base::SequencedTaskRunner* origin_task_runner, |
+ scoped_refptr<base::SequencedTaskRunner> image_worker_task_runner, |
+ size_t scheduled_raster_task_limit, |
+ bool use_partial_raster) |
: client_(client), |
- task_runner_(task_runner), |
+ task_runner_(origin_task_runner), |
resource_pool_(nullptr), |
tile_task_manager_(nullptr), |
scheduled_raster_task_limit_(scheduled_raster_task_limit), |
@@ -356,6 +358,8 @@ TileManager::TileManager(TileManagerClient* client, |
all_tiles_that_need_to_be_rasterized_are_scheduled_(true), |
did_check_for_completed_tasks_since_last_schedule_tasks_(true), |
did_oom_on_last_assign_(false), |
+ image_controller_(origin_task_runner, |
+ std::move(image_worker_task_runner)), |
more_tiles_need_prepare_check_notifier_( |
task_runner_, |
base::Bind(&TileManager::CheckIfMoreTilesNeedToBePrepared, |
@@ -1047,6 +1051,10 @@ void TileManager::OnRasterTaskCompleted( |
client_->NotifyTileStateChanged(tile); |
} |
+void TileManager::NotifyFrameFinished() { |
+ image_controller_.NotifyFrameFinished(); |
+} |
+ |
ScopedTilePtr TileManager::CreateTile(const Tile::CreateInfo& info, |
int layer_id, |
int source_frame_number, |