Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(301)

Side by Side Diff: cc/tiles/tile_manager.cc

Issue 1717283003: tracing: Make ConvertableToTraceFormat move-only scoped_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/tiles/tile_manager.h" 5 #include "cc/tiles/tile_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 const base::Closure on_task_set_finished_callback_; 246 const base::Closure on_task_set_finished_callback_;
247 247
248 DISALLOW_COPY_AND_ASSIGN(TaskSetFinishedTaskImpl); 248 DISALLOW_COPY_AND_ASSIGN(TaskSetFinishedTaskImpl);
249 }; 249 };
250 250
251 } // namespace 251 } // namespace
252 252
253 RasterTaskCompletionStats::RasterTaskCompletionStats() 253 RasterTaskCompletionStats::RasterTaskCompletionStats()
254 : completed_count(0u), canceled_count(0u) {} 254 : completed_count(0u), canceled_count(0u) {}
255 255
256 scoped_refptr<base::trace_event::ConvertableToTraceFormat> 256 scoped_ptr<base::trace_event::ConvertableToTraceFormat>
257 RasterTaskCompletionStatsAsValue(const RasterTaskCompletionStats& stats) { 257 RasterTaskCompletionStatsAsValue(const RasterTaskCompletionStats& stats) {
258 scoped_refptr<base::trace_event::TracedValue> state = 258 auto state = make_scoped_ptr(new base::trace_event::TracedValue);
259 new base::trace_event::TracedValue();
260 state->SetInteger("completed_count", 259 state->SetInteger("completed_count",
261 base::saturated_cast<int>(stats.completed_count)); 260 base::saturated_cast<int>(stats.completed_count));
262 state->SetInteger("canceled_count", 261 state->SetInteger("canceled_count",
263 base::saturated_cast<int>(stats.canceled_count)); 262 base::saturated_cast<int>(stats.canceled_count));
264 return state; 263 return std::move(state);
265 } 264 }
266 265
267 // static 266 // static
268 scoped_ptr<TileManager> TileManager::Create( 267 scoped_ptr<TileManager> TileManager::Create(
269 TileManagerClient* client, 268 TileManagerClient* client,
270 base::SequencedTaskRunner* task_runner, 269 base::SequencedTaskRunner* task_runner,
271 size_t scheduled_raster_task_limit, 270 size_t scheduled_raster_task_limit,
272 bool use_partial_raster) { 271 bool use_partial_raster) {
273 return make_scoped_ptr(new TileManager( 272 return make_scoped_ptr(new TileManager(
274 client, task_runner, scheduled_raster_task_limit, use_partial_raster)); 273 client, task_runner, scheduled_raster_task_limit, use_partial_raster));
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 469
471 tile_task_runner_->CheckForCompletedTasks(); 470 tile_task_runner_->CheckForCompletedTasks();
472 471
473 did_check_for_completed_tasks_since_last_schedule_tasks_ = true; 472 did_check_for_completed_tasks_since_last_schedule_tasks_ = true;
474 473
475 TRACE_EVENT_INSTANT1("cc", "DidFlush", TRACE_EVENT_SCOPE_THREAD, "stats", 474 TRACE_EVENT_INSTANT1("cc", "DidFlush", TRACE_EVENT_SCOPE_THREAD, "stats",
476 RasterTaskCompletionStatsAsValue(flush_stats_)); 475 RasterTaskCompletionStatsAsValue(flush_stats_));
477 flush_stats_ = RasterTaskCompletionStats(); 476 flush_stats_ = RasterTaskCompletionStats();
478 } 477 }
479 478
480 scoped_refptr<base::trace_event::ConvertableToTraceFormat> 479 scoped_ptr<base::trace_event::ConvertableToTraceFormat>
481 TileManager::BasicStateAsValue() const { 480 TileManager::BasicStateAsValue() const {
482 scoped_refptr<base::trace_event::TracedValue> value = 481 auto value = make_scoped_ptr(new base::trace_event::TracedValue);
483 new base::trace_event::TracedValue();
484 BasicStateAsValueInto(value.get()); 482 BasicStateAsValueInto(value.get());
485 return value; 483 return std::move(value);
486 } 484 }
487 485
488 void TileManager::BasicStateAsValueInto( 486 void TileManager::BasicStateAsValueInto(
489 base::trace_event::TracedValue* state) const { 487 base::trace_event::TracedValue* state) const {
490 state->SetInteger("tile_count", base::saturated_cast<int>(tiles_.size())); 488 state->SetInteger("tile_count", base::saturated_cast<int>(tiles_.size()));
491 state->SetBoolean("did_oom_on_last_assign", did_oom_on_last_assign_); 489 state->SetBoolean("did_oom_on_last_assign", did_oom_on_last_assign_);
492 state->BeginDictionary("global_state"); 490 state->BeginDictionary("global_state");
493 global_state_.AsValueInto(state); 491 global_state_.AsValueInto(state);
494 state->EndDictionary(); 492 state->EndDictionary();
495 } 493 }
(...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after
1097 } 1095 }
1098 1096
1099 ResourceFormat TileManager::DetermineResourceFormat(const Tile* tile) const { 1097 ResourceFormat TileManager::DetermineResourceFormat(const Tile* tile) const {
1100 return tile_task_runner_->GetResourceFormat(!tile->is_opaque()); 1098 return tile_task_runner_->GetResourceFormat(!tile->is_opaque());
1101 } 1099 }
1102 1100
1103 bool TileManager::DetermineResourceRequiresSwizzle(const Tile* tile) const { 1101 bool TileManager::DetermineResourceRequiresSwizzle(const Tile* tile) const {
1104 return tile_task_runner_->GetResourceRequiresSwizzle(!tile->is_opaque()); 1102 return tile_task_runner_->GetResourceRequiresSwizzle(!tile->is_opaque());
1105 } 1103 }
1106 1104
1107 scoped_refptr<base::trace_event::ConvertableToTraceFormat> 1105 scoped_ptr<base::trace_event::ConvertableToTraceFormat>
1108 TileManager::ScheduledTasksStateAsValue() const { 1106 TileManager::ScheduledTasksStateAsValue() const {
1109 scoped_refptr<base::trace_event::TracedValue> state = 1107 auto state = make_scoped_ptr(new base::trace_event::TracedValue);
1110 new base::trace_event::TracedValue();
1111
1112 state->BeginDictionary("tasks_pending"); 1108 state->BeginDictionary("tasks_pending");
1113 state->SetBoolean("ready_to_activate", signals_.ready_to_activate); 1109 state->SetBoolean("ready_to_activate", signals_.ready_to_activate);
1114 state->SetBoolean("ready_to_draw", signals_.ready_to_draw); 1110 state->SetBoolean("ready_to_draw", signals_.ready_to_draw);
1115 state->SetBoolean("all_tile_tasks_completed", 1111 state->SetBoolean("all_tile_tasks_completed",
1116 signals_.all_tile_tasks_completed); 1112 signals_.all_tile_tasks_completed);
1117 state->EndDictionary(); 1113 state->EndDictionary();
1118 return state; 1114 return std::move(state);
1119 } 1115 }
1120 1116
1121 // Utility function that can be used to create a "Task set finished" task that 1117 // Utility function that can be used to create a "Task set finished" task that
1122 // posts |callback| to |task_runner| when run. 1118 // posts |callback| to |task_runner| when run.
1123 scoped_refptr<TileTask> TileManager::CreateTaskSetFinishedTask( 1119 scoped_refptr<TileTask> TileManager::CreateTaskSetFinishedTask(
1124 void (TileManager::*callback)()) { 1120 void (TileManager::*callback)()) {
1125 return make_scoped_refptr(new TaskSetFinishedTaskImpl( 1121 return make_scoped_refptr(new TaskSetFinishedTaskImpl(
1126 task_runner_.get(), 1122 task_runner_.get(),
1127 base::Bind(callback, task_set_finished_weak_ptr_factory_.GetWeakPtr()))); 1123 base::Bind(callback, task_set_finished_weak_ptr_factory_.GetWeakPtr())));
1128 } 1124 }
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1197 void TileManager::Signals::reset() { 1193 void TileManager::Signals::reset() {
1198 ready_to_activate = false; 1194 ready_to_activate = false;
1199 did_notify_ready_to_activate = false; 1195 did_notify_ready_to_activate = false;
1200 ready_to_draw = false; 1196 ready_to_draw = false;
1201 did_notify_ready_to_draw = false; 1197 did_notify_ready_to_draw = false;
1202 all_tile_tasks_completed = false; 1198 all_tile_tasks_completed = false;
1203 did_notify_all_tile_tasks_completed = false; 1199 did_notify_all_tile_tasks_completed = false;
1204 } 1200 }
1205 1201
1206 } // namespace cc 1202 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698