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