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() { |
+} |