| 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);
|
| + ~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_
|
|
|