Move media library AutoTaskRunner to base and rename ScopedTaskRunner.

This is needed to avoid faux dependencies on media/ creeping in to remoting/ code, and creating linker issues.

BUG=
TEST=Everything works as before.


Review URL: http://codereview.chromium.org/7062013

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86971 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: c9c0d079c24a02f8f9b667f3cbf06d234a586625
diff --git a/base/task.cc b/base/task.cc
index d33f3e1..e4da547 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() {
 }
+
+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