Chromium Code Reviews| Index: base/task.cc |
| diff --git a/base/task.cc b/base/task.cc |
| index 8c614734863fb5c8e34959dd2b00b4ac8c80e538..85c01dbb82d36a4b206c41a373dee5b04a99ea4b 100644 |
| --- a/base/task.cc |
| +++ b/base/task.cc |
| @@ -34,6 +34,21 @@ Task* ScopedTaskRunner::Release() { |
| return tmp; |
| } |
| +ScopedClosureRunner::ScopedClosureRunner(const Closure& closure) |
| + : closure_(closure) { |
| +} |
| + |
| +ScopedClosureRunner::~ScopedClosureRunner() { |
| + if (!closure_.is_null()) |
| + closure_.Run(); |
| +} |
| + |
| +Closure ScopedClosureRunner::Release() { |
| + Closure result = closure_; |
| + closure_ = Closure(); |
|
awong
2011/10/04 00:22:42
closure_.Reset();
Sergey Ulanov
2011/10/04 00:25:10
Done.
|
| + return result; |
| +} |
| + |
| namespace subtle { |
| TaskClosureAdapter::TaskClosureAdapter(Task* task) |