Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2859)

Unified Diff: base/task.h

Issue 9086002: base::Bind: Remove Task. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Style fix. Created 8 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/message_loop_proxy_impl_unittest.cc ('k') | base/task.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/task.h
diff --git a/base/task.h b/base/task.h
index a310e0d4f0d53fce9f0ad8587fa634982b42af90..dbef70be032350c3f552ac41e7db69ef80939634 100644
--- a/base/task.h
+++ b/base/task.h
@@ -42,20 +42,6 @@ namespace base {
const size_t kDeadTask = 0xDEAD7A53;
}
-// Task ------------------------------------------------------------------------
-//
-// A task is a generic runnable thingy, usually used for running code on a
-// different thread or for scheduling future tasks off of the message loop.
-
-class BASE_EXPORT Task {
- public:
- Task();
- virtual ~Task();
-
- // Tasks are automatically deleted after Run is called.
- virtual void Run() = 0;
-};
-
template<typename T>
void DeletePointer(T* obj) {
delete obj;
@@ -78,44 +64,6 @@ class BASE_EXPORT ScopedClosureRunner {
DISALLOW_IMPLICIT_CONSTRUCTORS(ScopedClosureRunner);
};
-namespace subtle {
-
-// This class is meant for use in the implementation of MessageLoop classes
-// such as MessageLoop, MessageLoopProxy, BrowserThread, and WorkerPool to
-// implement the compatibility APIs while we are transitioning from Task to
-// Callback.
-//
-// It should NOT be used anywhere else!
-//
-// In particular, notice that this is RefCounted instead of
-// RefCountedThreadSafe. We rely on the fact that users of this class are
-// careful to ensure that a lock is taken during transfer of ownership for
-// objects from this class to ensure the refcount is not corrupted.
-class TaskClosureAdapter : public RefCounted<TaskClosureAdapter> {
- public:
- explicit TaskClosureAdapter(Task* task);
-
- // |should_leak_task| points to a flag variable that can be used to determine
- // if this class should leak the Task on destruction. This is important
- // at MessageLoop shutdown since not all tasks can be safely deleted without
- // running. See MessageLoop::DeletePendingTasks() for the exact behavior
- // of when a Task should be deleted. It is subtle.
- TaskClosureAdapter(Task* task, bool* should_leak_task);
-
- void Run();
-
- private:
- friend class base::RefCounted<TaskClosureAdapter>;
-
- ~TaskClosureAdapter();
-
- Task* task_;
- bool* should_leak_task_;
- static bool kTaskLeakingDefault;
-};
-
-} // namespace subtle
-
} // namespace base
#endif // BASE_TASK_H_
« no previous file with comments | « base/message_loop_proxy_impl_unittest.cc ('k') | base/task.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698