| Index: cc/tiles/tile_manager.cc
|
| diff --git a/cc/tiles/tile_manager.cc b/cc/tiles/tile_manager.cc
|
| index bb8e450d332d13f47e38f5ba8a3164f51d23ee07..03db310b74cd5d8c51b3f81e9d84883b3e01e7b7 100644
|
| --- a/cc/tiles/tile_manager.cc
|
| +++ b/cc/tiles/tile_manager.cc
|
| @@ -1358,6 +1358,58 @@ scoped_refptr<TileTask> TileManager::CreateTaskSetFinishedTask(
|
| base::Bind(callback, task_set_finished_weak_ptr_factory_.GetWeakPtr())));
|
| }
|
|
|
| +void TileManager::GetActivationStateAsValue(base::DictionaryValue* value) {
|
| + value->SetString("tree_priority",
|
| + TreePriorityToString(global_state_.tree_priority));
|
| + value->SetInteger("soft_memory_limit",
|
| + global_state_.soft_memory_limit_in_bytes);
|
| + value->SetInteger("hard_memory_limit",
|
| + global_state_.soft_memory_limit_in_bytes);
|
| + value->SetInteger("pending_required_for_activation_callback_id",
|
| + pending_required_for_activation_callback_id_);
|
| + value->SetInteger("current_memory_usage",
|
| + resource_pool_->memory_usage_bytes());
|
| + value->SetInteger("current_resource_usage", resource_pool_->resource_count());
|
| +
|
| + auto tile_as_value = [](const PrioritizedTile& prioritized_tile) {
|
| + Tile* tile = prioritized_tile.tile();
|
| + TilePriority priority = prioritized_tile.priority();
|
| + auto value_tile = base::MakeUnique<base::DictionaryValue>();
|
| + value_tile->SetInteger("id", tile->id());
|
| + value_tile->SetString("content_rect",
|
| + tile->content_rect().ToString().c_str());
|
| + value_tile->SetDouble("contents_scale", tile->contents_scale());
|
| + value_tile->SetBoolean("is_ready_to_draw",
|
| + tile->draw_info().IsReadyToDraw());
|
| + value_tile->SetString("resolution",
|
| + TileResolutionToString(priority.resolution));
|
| + value_tile->SetString("priority_bin",
|
| + TilePriorityBinToString(priority.priority_bin));
|
| + value_tile->SetDouble("distance_to_visible", priority.distance_to_visible);
|
| + value_tile->SetBoolean("required_for_activation",
|
| + tile->required_for_activation());
|
| + value_tile->SetBoolean("required_for_draw", tile->required_for_draw());
|
| + return value_tile;
|
| + };
|
| +
|
| + auto raster_tiles = base::MakeUnique<base::ListValue>();
|
| + std::unique_ptr<RasterTilePriorityQueue> raster_priority_queue(
|
| + client_->BuildRasterQueue(global_state_.tree_priority,
|
| + RasterTilePriorityQueue::Type::ALL));
|
| + for (; !raster_priority_queue->IsEmpty(); raster_priority_queue->Pop())
|
| + raster_tiles->Append(tile_as_value(raster_priority_queue->Top()));
|
| + value->Set("raster_tiles", std::move(raster_tiles));
|
| +
|
| + auto activation_tiles = base::MakeUnique<base::ListValue>();
|
| + std::unique_ptr<RasterTilePriorityQueue> required_priority_queue(
|
| + client_->BuildRasterQueue(
|
| + global_state_.tree_priority,
|
| + RasterTilePriorityQueue::Type::REQUIRED_FOR_ACTIVATION));
|
| + for (; !required_priority_queue->IsEmpty(); required_priority_queue->Pop())
|
| + activation_tiles->Append(tile_as_value(required_priority_queue->Top()));
|
| + value->Set("activation_tiles", std::move(activation_tiles));
|
| +}
|
| +
|
| TileManager::MemoryUsage::MemoryUsage()
|
| : memory_bytes_(0), resource_count_(0) {}
|
|
|
|
|