Index: cc/resources/tile_manager.cc |
diff --git a/cc/resources/tile_manager.cc b/cc/resources/tile_manager.cc |
index 66f95da9444cc36054c916c780088473282fdb52..7ab1fbf98dc3cd340456c1908ab2a6e4dd66b94f 100644 |
--- a/cc/resources/tile_manager.cc |
+++ b/cc/resources/tile_manager.cc |
@@ -18,8 +18,8 @@ |
#include "cc/debug/traced_value.h" |
#include "cc/layers/picture_layer_impl.h" |
#include "cc/resources/raster_buffer.h" |
-#include "cc/resources/rasterizer.h" |
#include "cc/resources/tile.h" |
+#include "cc/resources/tile_task_runner.h" |
#include "ui/gfx/geometry/rect_conversions.h" |
namespace cc { |
@@ -73,12 +73,12 @@ class RasterTaskImpl : public RasterTask { |
Raster(raster_source_.get()); |
} |
- // Overridden from RasterizerTask: |
- void ScheduleOnOriginThread(RasterizerTaskClient* client) override { |
+ // Overridden from TileTask: |
+ void ScheduleOnOriginThread(TileTaskClient* client) override { |
DCHECK(!raster_buffer_); |
raster_buffer_ = client->AcquireBufferForRaster(resource()); |
} |
- void CompleteOnOriginThread(RasterizerTaskClient* client) override { |
+ void CompleteOnOriginThread(TileTaskClient* client) override { |
client->ReleaseBufferForRaster(raster_buffer_.Pass()); |
} |
void RunReplyOnOriginThread() override { |
@@ -158,9 +158,9 @@ class ImageDecodeTaskImpl : public ImageDecodeTask { |
pixel_ref_->unlockPixels(); |
} |
- // Overridden from RasterizerTask: |
- void ScheduleOnOriginThread(RasterizerTaskClient* client) override {} |
- void CompleteOnOriginThread(RasterizerTaskClient* client) override {} |
+ // Overridden from TileTask: |
+ void ScheduleOnOriginThread(TileTaskClient* client) override {} |
+ void CompleteOnOriginThread(TileTaskClient* client) override {} |
void RunReplyOnOriginThread() override { reply_.Run(!HasFinishedRunning()); } |
protected: |
@@ -208,28 +208,25 @@ scoped_ptr<TileManager> TileManager::Create( |
TileManagerClient* client, |
base::SequencedTaskRunner* task_runner, |
ResourcePool* resource_pool, |
- Rasterizer* rasterizer, |
+ TileTaskRunner* tile_task_runner, |
RenderingStatsInstrumentation* rendering_stats_instrumentation, |
size_t scheduled_raster_task_limit) { |
- return make_scoped_ptr(new TileManager(client, |
- task_runner, |
- resource_pool, |
- rasterizer, |
- rendering_stats_instrumentation, |
- scheduled_raster_task_limit)); |
+ return make_scoped_ptr(new TileManager( |
+ client, task_runner, resource_pool, tile_task_runner, |
+ rendering_stats_instrumentation, scheduled_raster_task_limit)); |
} |
TileManager::TileManager( |
TileManagerClient* client, |
const scoped_refptr<base::SequencedTaskRunner>& task_runner, |
ResourcePool* resource_pool, |
- Rasterizer* rasterizer, |
+ TileTaskRunner* tile_task_runner, |
RenderingStatsInstrumentation* rendering_stats_instrumentation, |
size_t scheduled_raster_task_limit) |
: client_(client), |
task_runner_(task_runner), |
resource_pool_(resource_pool), |
- rasterizer_(rasterizer), |
+ tile_task_runner_(tile_task_runner), |
scheduled_raster_task_limit_(scheduled_raster_task_limit), |
all_tiles_that_need_to_be_rasterized_are_scheduled_(true), |
rendering_stats_instrumentation_(rendering_stats_instrumentation), |
@@ -244,7 +241,7 @@ TileManager::TileManager( |
base::Bind(&TileManager::CheckIfReadyToDraw, base::Unretained(this))), |
did_notify_ready_to_activate_(false), |
did_notify_ready_to_draw_(false) { |
- rasterizer_->SetClient(this); |
+ tile_task_runner_->SetClient(this); |
} |
TileManager::~TileManager() { |
@@ -252,14 +249,14 @@ TileManager::~TileManager() { |
// our memory usage to drop to zero. |
global_state_ = GlobalStateThatImpactsTilePriority(); |
- RasterTaskQueue empty; |
- rasterizer_->ScheduleTasks(&empty); |
+ TileTaskQueue empty; |
+ tile_task_runner_->ScheduleTasks(&empty); |
orphan_raster_tasks_.clear(); |
// This should finish all pending tasks and release any uninitialized |
// resources. |
- rasterizer_->Shutdown(); |
- rasterizer_->CheckForCompletedTasks(); |
+ tile_task_runner_->Shutdown(); |
+ tile_task_runner_->CheckForCompletedTasks(); |
FreeResourcesForReleasedTiles(); |
CleanUpReleasedTiles(); |
@@ -312,8 +309,8 @@ void TileManager::CleanUpReleasedTiles() { |
} |
} |
-void TileManager::DidFinishRunningTasks(TaskSet task_set) { |
- TRACE_EVENT1("cc", "TileManager::DidFinishRunningTasks", "task_set", |
+void TileManager::DidFinishRunningTileTasks(TaskSet task_set) { |
+ TRACE_EVENT1("cc", "TileManager::DidFinishRunningTileTasks", "task_set", |
TaskSetName(task_set)); |
switch (task_set) { |
@@ -328,7 +325,7 @@ void TileManager::DidFinishRunningTasks(TaskSet task_set) { |
!memory_usage_above_limit) |
return; |
- rasterizer_->CheckForCompletedTasks(); |
+ tile_task_runner_->CheckForCompletedTasks(); |
did_check_for_completed_tasks_since_last_schedule_tasks_ = true; |
TileVector tiles_that_need_to_be_rasterized; |
@@ -400,15 +397,16 @@ void TileManager::DidFinishRunningTasks(TaskSet task_set) { |
NOTREACHED(); |
} |
-void TileManager::ManageTiles(const GlobalStateThatImpactsTilePriority& state) { |
- TRACE_EVENT0("cc", "TileManager::ManageTiles"); |
+void TileManager::PrepareTiles( |
+ const GlobalStateThatImpactsTilePriority& state) { |
+ TRACE_EVENT0("cc", "TileManager::PrepareTiles"); |
global_state_ = state; |
// We need to call CheckForCompletedTasks() once in-between each call |
// to ScheduleTasks() to prevent canceled tasks from being scheduled. |
if (!did_check_for_completed_tasks_since_last_schedule_tasks_) { |
- rasterizer_->CheckForCompletedTasks(); |
+ tile_task_runner_->CheckForCompletedTasks(); |
did_check_for_completed_tasks_since_last_schedule_tasks_ = true; |
} |
@@ -418,16 +416,13 @@ void TileManager::ManageTiles(const GlobalStateThatImpactsTilePriority& state) { |
TileVector tiles_that_need_to_be_rasterized; |
AssignGpuMemoryToTiles(&tiles_that_need_to_be_rasterized); |
- // Schedule rasterizer tasks. |
+ // Schedule tile tasks. |
ScheduleTasks(tiles_that_need_to_be_rasterized); |
did_notify_ready_to_activate_ = false; |
did_notify_ready_to_draw_ = false; |
- TRACE_EVENT_INSTANT1("cc", |
- "DidManage", |
- TRACE_EVENT_SCOPE_THREAD, |
- "state", |
+ TRACE_EVENT_INSTANT1("cc", "DidPrepare", TRACE_EVENT_SCOPE_THREAD, "state", |
BasicStateAsValue()); |
TRACE_COUNTER_ID1("cc", |
@@ -440,7 +435,7 @@ void TileManager::ManageTiles(const GlobalStateThatImpactsTilePriority& state) { |
void TileManager::UpdateVisibleTiles() { |
TRACE_EVENT0("cc", "TileManager::UpdateVisibleTiles"); |
- rasterizer_->CheckForCompletedTasks(); |
+ tile_task_runner_->CheckForCompletedTasks(); |
did_check_for_completed_tasks_since_last_schedule_tasks_ = true; |
TRACE_EVENT_INSTANT1( |
@@ -698,7 +693,7 @@ void TileManager::ScheduleTasks( |
task_sets.set(REQUIRED_FOR_DRAW); |
task_sets.set(ALL); |
raster_queue_.items.push_back( |
- RasterTaskQueue::Item(mts.raster_task.get(), task_sets)); |
+ TileTaskQueue::Item(mts.raster_task.get(), task_sets)); |
} |
// We must reduce the amount of unused resoruces before calling |
@@ -708,7 +703,7 @@ void TileManager::ScheduleTasks( |
// Schedule running of |raster_queue_|. This replaces any previously |
// scheduled tasks and effectively cancels all tasks not present |
// in |raster_queue_|. |
- rasterizer_->ScheduleTasks(&raster_queue_); |
+ tile_task_runner_->ScheduleTasks(&raster_queue_); |
// It's now safe to clean up orphan tasks as raster worker pool is not |
// allowed to keep around unreferenced raster tasks after ScheduleTasks() has |
@@ -853,9 +848,10 @@ scoped_refptr<Tile> TileManager::CreateTile(RasterSource* raster_source, |
return tile; |
} |
-void TileManager::SetRasterizerForTesting(Rasterizer* rasterizer) { |
- rasterizer_ = rasterizer; |
- rasterizer_->SetClient(this); |
+void TileManager::SetTileTaskRunnerForTesting( |
+ TileTaskRunner* tile_task_runner) { |
+ tile_task_runner_ = tile_task_runner; |
+ tile_task_runner_->SetClient(this); |
} |
bool TileManager::IsReadyToActivate() const { |
@@ -884,7 +880,7 @@ bool TileManager::IsReadyToDraw() const { |
void TileManager::CheckIfReadyToActivate() { |
TRACE_EVENT0("cc", "TileManager::CheckIfReadyToActivate"); |
- rasterizer_->CheckForCompletedTasks(); |
+ tile_task_runner_->CheckForCompletedTasks(); |
did_check_for_completed_tasks_since_last_schedule_tasks_ = true; |
if (did_notify_ready_to_activate_) |
@@ -899,7 +895,7 @@ void TileManager::CheckIfReadyToActivate() { |
void TileManager::CheckIfReadyToDraw() { |
TRACE_EVENT0("cc", "TileManager::CheckIfReadyToDraw"); |
- rasterizer_->CheckForCompletedTasks(); |
+ tile_task_runner_->CheckForCompletedTasks(); |
did_check_for_completed_tasks_since_last_schedule_tasks_ = true; |
if (did_notify_ready_to_draw_) |