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..9d400342093660b6c2744c66e085e467ee6f8242 100644 |
--- a/components/keyed_service/core/refcounted_keyed_service.cc |
+++ b/components/keyed_service/core/refcounted_keyed_service.cc |
@@ -4,15 +4,17 @@ |
#include "components/keyed_service/core/refcounted_keyed_service.h" |
-#include "base/location.h" |
-#include "base/threading/thread_task_runner_handle.h" |
+#include <utility> |
+ |
+#include "base/threading/sequenced_task_runner_handle.h" |
namespace impl { |
// static |
void RefcountedKeyedServiceTraits::Destruct(const RefcountedKeyedService* obj) { |
if (obj->task_runner_.get() != nullptr && |
- obj->task_runner_.get() != base::ThreadTaskRunnerHandle::Get()) { |
+ base::SequencedTaskRunnerHandle::IsSet() && |
+ obj->task_runner_.get() != base::SequencedTaskRunnerHandle::Get()) { |
Bernhard Bauer
2016/12/19 17:07:29
Do we have a guarantee that STRH's can be compared
gab
2016/12/19 18:25:56
No we don't (in practice it's true for MessageLoop
|
obj->task_runner_->DeleteSoon(FROM_HERE, obj); |
} else { |
delete obj; |
@@ -25,9 +27,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; |