| Index: components/keyed_service/core/refcounted_keyed_service.cc
|
| diff --git a/components/keyed_service/core/refcounted_keyed_service.cc b/components/keyed_service/core/refcounted_keyed_service.cc
|
| index 04a1ea572889ff96ffff4721e8e794a5369efdf5..6bc47584c5a54dab2885fb4628aad084c3c2f9df 100644
|
| --- a/components/keyed_service/core/refcounted_keyed_service.cc
|
| +++ b/components/keyed_service/core/refcounted_keyed_service.cc
|
| @@ -4,13 +4,15 @@
|
|
|
| #include "components/keyed_service/core/refcounted_keyed_service.h"
|
|
|
| -#include <utility>
|
| +#include "base/location.h"
|
| +#include "base/threading/thread_task_runner_handle.h"
|
|
|
| namespace impl {
|
|
|
| // static
|
| void RefcountedKeyedServiceTraits::Destruct(const RefcountedKeyedService* obj) {
|
| - if (obj->task_runner_ && !obj->task_runner_->RunsTasksOnCurrentThread()) {
|
| + if (obj->task_runner_.get() != nullptr &&
|
| + obj->task_runner_.get() != base::ThreadTaskRunnerHandle::Get()) {
|
| obj->task_runner_->DeleteSoon(FROM_HERE, obj);
|
| } else {
|
| delete obj;
|
| @@ -23,7 +25,9 @@
|
| }
|
|
|
| RefcountedKeyedService::RefcountedKeyedService(
|
| - scoped_refptr<base::SequencedTaskRunner> task_runner)
|
| - : task_runner_(std::move(task_runner)) {}
|
| + const scoped_refptr<base::SingleThreadTaskRunner>& task_runner)
|
| + : task_runner_(task_runner) {
|
| +}
|
|
|
| -RefcountedKeyedService::~RefcountedKeyedService() = default;
|
| +RefcountedKeyedService::~RefcountedKeyedService() {
|
| +}
|
|
|