std::optional<std::string> system_profile) {Justin CohenNit: This is the only caller of this version of LoadTraceContent() I think, so we could remove system_profile?
Done
database_task_runner_->PostTaskAndReplyWithResult(Justin CohenI meant we can skip the hop back to the "original" task runner (to do CompleteUpload). Something like:
```
auto ui_runner = base::SequencedTaskRunner::GetCurrentDefault();
auto on_upload_complete = base::BindPostTask(database_task_runner_, base::BindOnce([](
tracing::TraceReportDatabase* database,
base::Token uuid
base::OnceCallback<...> on_finalize_complete) {
std::optional<ClientTraceReport> next_report;
if (database->UploadComplete(uuid, base::Time::Now())) {
next_report = database->GetNextReportPendingUpload();
}
std::move(on_finalize_complete).Run(std::move(next_report), true);
}, database_.get(), uuid,base::BindPostTask(ui_runner, std::move(on_finalize_complete))));
auto load_trace_content = base::BindOnce([](
tracing::TraceReportDatabase* database,
base::Token uuid,
base::OnceCallback<...> receive_callback,
base::OnceCallback<...> on_upload_complete) {
auto compressed_trace_content = database->GetTraceContent(uuid);
if (!compressed_trace_content) {
std::move(receive_callback)
.Run(std::nullopt, std::nullopt, base::NullCallback());
} else {
auto serialized_system_profile = database->GetSystemProfile(uuid);
std::move(receive_callback)
.Run(std::move(compressed_trace_content),
std::move(serialized_system_profile), std::move(upload_complete));
}
}, database_.get(), uuid, std::move(receive_callback), std::move(on_upload_complete));database_task_runner_->PostTask(database_task_runner_, std::move(load_trace_content));
```
Done
[](base::WeakPtr<TraceReportManager> self, base::Token uuid,Justin CohenNit: I think we can plumb TraceReportDatabase* the same we we do in other functions (and thus don't need a WeakPtrFactory), see above.
Done
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |