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

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: rebase Created 4 years, 9 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 scoped_ptr<base::trace_event::TracedValue> state(
259 new base::trace_event::TracedValue(); 259 new base::trace_event::TracedValue());
260 state->SetInteger("completed_count", 260 state->SetInteger("completed_count",
261 base::saturated_cast<int>(stats.completed_count)); 261 base::saturated_cast<int>(stats.completed_count));
262 state->SetInteger("canceled_count", 262 state->SetInteger("canceled_count",
263 base::saturated_cast<int>(stats.canceled_count)); 263 base::saturated_cast<int>(stats.canceled_count));
264 return state; 264 return std::move(state);
265 } 265 }
266 266
267 // static 267 // static
268 scoped_ptr<TileManager> TileManager::Create( 268 scoped_ptr<TileManager> TileManager::Create(
269 TileManagerClient* client, 269 TileManagerClient* client,
270 base::SequencedTaskRunner* task_runner, 270 base::SequencedTaskRunner* task_runner,
271 size_t scheduled_raster_task_limit, 271 size_t scheduled_raster_task_limit,
272 bool use_partial_raster) { 272 bool use_partial_raster) {
273 return make_scoped_ptr(new TileManager( 273 return make_scoped_ptr(new TileManager(
274 client, task_runner, scheduled_raster_task_limit, use_partial_raster)); 274 client, task_runner, scheduled_raster_task_limit, use_partial_raster));
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 470
471 tile_task_runner_->CheckForCompletedTasks(); 471 tile_task_runner_->CheckForCompletedTasks();
472 472
473 did_check_for_completed_tasks_since_last_schedule_tasks_ = true; 473 did_check_for_completed_tasks_since_last_schedule_tasks_ = true;
474 474
475 TRACE_EVENT_INSTANT1("cc", "DidFlush", TRACE_EVENT_SCOPE_THREAD, "stats", 475 TRACE_EVENT_INSTANT1("cc", "DidFlush", TRACE_EVENT_SCOPE_THREAD, "stats",
476 RasterTaskCompletionStatsAsValue(flush_stats_)); 476 RasterTaskCompletionStatsAsValue(flush_stats_));
477 flush_stats_ = RasterTaskCompletionStats(); 477 flush_stats_ = RasterTaskCompletionStats();
478 } 478 }
479 479
480 scoped_refptr<base::trace_event::ConvertableToTraceFormat> 480 scoped_ptr<base::trace_event::ConvertableToTraceFormat>
481 TileManager::BasicStateAsValue() const { 481 TileManager::BasicStateAsValue() const {
482 scoped_refptr<base::trace_event::TracedValue> value = 482 scoped_ptr<base::trace_event::TracedValue> value(
483 new base::trace_event::TracedValue(); 483 new base::trace_event::TracedValue());
484 BasicStateAsValueInto(value.get()); 484 BasicStateAsValueInto(value.get());
485 return value; 485 return std::move(value);
486 } 486 }
487 487
488 void TileManager::BasicStateAsValueInto( 488 void TileManager::BasicStateAsValueInto(
489 base::trace_event::TracedValue* state) const { 489 base::trace_event::TracedValue* state) const {
490 state->SetInteger("tile_count", base::saturated_cast<int>(tiles_.size())); 490 state->SetInteger("tile_count", base::saturated_cast<int>(tiles_.size()));
491 state->SetBoolean("did_oom_on_last_assign", did_oom_on_last_assign_); 491 state->SetBoolean("did_oom_on_last_assign", did_oom_on_last_assign_);
492 state->BeginDictionary("global_state"); 492 state->BeginDictionary("global_state");
493 global_state_.AsValueInto(state); 493 global_state_.AsValueInto(state);
494 state->EndDictionary(); 494 state->EndDictionary();
495 } 495 }
(...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after
1097 } 1097 }
1098 1098
1099 ResourceFormat TileManager::DetermineResourceFormat(const Tile* tile) const { 1099 ResourceFormat TileManager::DetermineResourceFormat(const Tile* tile) const {
1100 return tile_task_runner_->GetResourceFormat(!tile->is_opaque()); 1100 return tile_task_runner_->GetResourceFormat(!tile->is_opaque());
1101 } 1101 }
1102 1102
1103 bool TileManager::DetermineResourceRequiresSwizzle(const Tile* tile) const { 1103 bool TileManager::DetermineResourceRequiresSwizzle(const Tile* tile) const {
1104 return tile_task_runner_->GetResourceRequiresSwizzle(!tile->is_opaque()); 1104 return tile_task_runner_->GetResourceRequiresSwizzle(!tile->is_opaque());
1105 } 1105 }
1106 1106
1107 scoped_refptr<base::trace_event::ConvertableToTraceFormat> 1107 scoped_ptr<base::trace_event::ConvertableToTraceFormat>
1108 TileManager::ScheduledTasksStateAsValue() const { 1108 TileManager::ScheduledTasksStateAsValue() const {
1109 scoped_refptr<base::trace_event::TracedValue> state = 1109 scoped_ptr<base::trace_event::TracedValue> state(
1110 new base::trace_event::TracedValue(); 1110 new base::trace_event::TracedValue());
1111
1112 state->BeginDictionary("tasks_pending"); 1111 state->BeginDictionary("tasks_pending");
1113 state->SetBoolean("ready_to_activate", signals_.ready_to_activate); 1112 state->SetBoolean("ready_to_activate", signals_.ready_to_activate);
1114 state->SetBoolean("ready_to_draw", signals_.ready_to_draw); 1113 state->SetBoolean("ready_to_draw", signals_.ready_to_draw);
1115 state->SetBoolean("all_tile_tasks_completed", 1114 state->SetBoolean("all_tile_tasks_completed",
1116 signals_.all_tile_tasks_completed); 1115 signals_.all_tile_tasks_completed);
1117 state->EndDictionary(); 1116 state->EndDictionary();
1118 return state; 1117 return std::move(state);
1119 } 1118 }
1120 1119
1121 // Utility function that can be used to create a "Task set finished" task that 1120 // Utility function that can be used to create a "Task set finished" task that
1122 // posts |callback| to |task_runner| when run. 1121 // posts |callback| to |task_runner| when run.
1123 scoped_refptr<TileTask> TileManager::CreateTaskSetFinishedTask( 1122 scoped_refptr<TileTask> TileManager::CreateTaskSetFinishedTask(
1124 void (TileManager::*callback)()) { 1123 void (TileManager::*callback)()) {
1125 return make_scoped_refptr(new TaskSetFinishedTaskImpl( 1124 return make_scoped_refptr(new TaskSetFinishedTaskImpl(
1126 task_runner_.get(), 1125 task_runner_.get(),
1127 base::Bind(callback, task_set_finished_weak_ptr_factory_.GetWeakPtr()))); 1126 base::Bind(callback, task_set_finished_weak_ptr_factory_.GetWeakPtr())));
1128 } 1127 }
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1197 void TileManager::Signals::reset() { 1196 void TileManager::Signals::reset() {
1198 ready_to_activate = false; 1197 ready_to_activate = false;
1199 did_notify_ready_to_activate = false; 1198 did_notify_ready_to_activate = false;
1200 ready_to_draw = false; 1199 ready_to_draw = false;
1201 did_notify_ready_to_draw = false; 1200 did_notify_ready_to_draw = false;
1202 all_tile_tasks_completed = false; 1201 all_tile_tasks_completed = false;
1203 did_notify_all_tile_tasks_completed = false; 1202 did_notify_all_tile_tasks_completed = false;
1204 } 1203 }
1205 1204
1206 } // namespace cc 1205 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698