Make Task a ref counted object in the UpdateClient implementation.
Bug: 819645
Change-Id: Iff4fbf906aa5e066db462aa41365e158969bc9b2
Reviewed-on: https://chromium-review.googlesource.com/953065
Commit-Queue: Sorin Jianu <[email protected]>
Reviewed-by: Joshua Pawlicki <[email protected]>
Cr-Commit-Position: refs/heads/master@{#541571}
diff --git a/components/update_client/task_send_uninstall_ping.cc b/components/update_client/task_send_uninstall_ping.cc
index 45a1164..53989056 100644
--- a/components/update_client/task_send_uninstall_ping.cc
+++ b/components/update_client/task_send_uninstall_ping.cc
@@ -40,8 +40,7 @@
update_engine_->SendUninstallPing(
id_, version_, reason_,
- base::BindOnce(&TaskSendUninstallPing::TaskComplete,
- base::Unretained(this)));
+ base::BindOnce(&TaskSendUninstallPing::TaskComplete, this));
}
void TaskSendUninstallPing::Cancel() {
@@ -58,7 +57,8 @@
DCHECK(thread_checker_.CalledOnValidThread());
base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE, base::BindOnce(std::move(callback_), this, error));
+ FROM_HERE,
+ base::BindOnce(std::move(callback_), scoped_refptr<Task>(this), error));
}
} // namespace update_client