Chromium Code Reviews| Index: base/sequenced_task_runner.h |
| diff --git a/base/sequenced_task_runner.h b/base/sequenced_task_runner.h |
| index 6bb3f2b8717b0bac60c64fa8c7bb6525eec01a44..0bedf2e1b9251190b09dd3a409a4db4689f3e81c 100644 |
| --- a/base/sequenced_task_runner.h |
| +++ b/base/sequenced_task_runner.h |
| @@ -154,6 +154,24 @@ class BASE_EXPORT SequencedTaskRunner : public TaskRunner { |
| const void* object); |
| }; |
| +struct BASE_EXPORT OnTaskRunnerDeleter { |
| + explicit OnTaskRunnerDeleter(scoped_refptr<SequencedTaskRunner> task_runner); |
|
hbos_chromium
2016/07/20 12:42:32
nit: const scoped_refptr<...>&
tzik
2016/07/20 14:37:50
Newer styleguide prefer the pass-by-value on smart
tzik
2016/07/20 14:42:26
Oh... The chromium-style plugin complains we need
hbos_chromium
2016/07/20 15:15:39
Acknowledged.
|
| + ~OnTaskRunnerDeleter(); |
| + |
| + OnTaskRunnerDeleter(OnTaskRunnerDeleter&&); |
| + OnTaskRunnerDeleter& operator=(OnTaskRunnerDeleter&&); |
| + |
| + template <typename T> |
| + void operator()(const T* ptr) { |
| + if (task_runner_->RunsTasksOnCurrentThread()) |
| + delete ptr; |
| + else if (ptr) |
| + task_runner_->DeleteSoon(FROM_HERE, ptr); |
| + } |
| + |
| + scoped_refptr<SequencedTaskRunner> task_runner_; |
| +}; |
| + |
| } // namespace base |
| #endif // BASE_SEQUENCED_TASK_RUNNER_H_ |