Index: base/task.cc |
diff --git a/base/task.cc b/base/task.cc |
index d33f3e1a884fafa6013628150344b0c3d13ad394..e4da5474a0098d852963c1ca5c1b350ffa306d37 100644 |
--- a/base/task.cc |
+++ b/base/task.cc |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
@@ -15,3 +15,23 @@ CancelableTask::CancelableTask() { |
CancelableTask::~CancelableTask() { |
} |
+ |
+namespace base { |
+ |
+ScopedTaskRunner::ScopedTaskRunner(Task* task) : task_(task) { |
+} |
+ |
+ScopedTaskRunner::~ScopedTaskRunner() { |
+ if (task_) { |
+ task_->Run(); |
+ delete task_; |
+ } |
+} |
+ |
+Task* ScopedTaskRunner::Release() { |
+ Task* tmp = task_; |
+ task_ = NULL; |
+ return tmp; |
+} |
+ |
+} // namespace base |