Chromium Code Reviews| 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; |