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

Side by Side Diff: base/task.h

Issue 9015021: Remove DeleteTask and convert remaining users. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix last Linux gotchas (upload attempt #2) Created 8 years, 11 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/automation/automation_provider.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // ============================================================================ 5 // ============================================================================
6 // **************************************************************************** 6 // ****************************************************************************
7 // * THIS HEADER IS DEPRECATED, SEE base/callback.h FOR NEW IMPLEMENTATION * 7 // * THIS HEADER IS DEPRECATED, SEE base/callback.h FOR NEW IMPLEMENTATION *
8 // **************************************************************************** 8 // ****************************************************************************
9 // ============================================================================ 9 // ============================================================================
10 // ============================================================================ 10 // ============================================================================
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 Method meth_; 198 Method meth_;
199 Params params_; 199 Params params_;
200 200
201 DISALLOW_COPY_AND_ASSIGN(RunnableMethod); 201 DISALLOW_COPY_AND_ASSIGN(RunnableMethod);
202 }; 202 };
203 203
204 private: 204 private:
205 base::WeakPtrFactory<T> weak_factory_; 205 base::WeakPtrFactory<T> weak_factory_;
206 }; 206 };
207 207
208 // General task implementations ------------------------------------------------ 208 // Delete helper for use with base::Bind().
209
210 // Task to delete an object
211 template<class T>
212 class DeleteTask : public CancelableTask {
213 public:
214 explicit DeleteTask(const T* obj) : obj_(obj) {
215 }
216 virtual void Run() {
217 delete obj_;
218 }
219 virtual void Cancel() {
220 obj_ = NULL;
221 }
222
223 private:
224 const T* obj_;
225 };
226
227 // Equivalents for use by base::Bind().
228 template<typename T> 209 template<typename T>
229 void DeletePointer(T* obj) { 210 void DeletePointer(T* obj) {
230 delete obj; 211 delete obj;
231 } 212 }
232 213
233 // RunnableMethodTraits -------------------------------------------------------- 214 // RunnableMethodTraits --------------------------------------------------------
234 // 215 //
235 // This traits-class is used by RunnableMethod to manage the lifetime of the 216 // This traits-class is used by RunnableMethod to manage the lifetime of the
236 // callee object. By default, it is assumed that the callee supports AddRef 217 // callee object. By default, it is assumed that the callee supports AddRef
237 // and Release methods. A particular class can specialize this template to 218 // and Release methods. A particular class can specialize this template to
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
616 Task* task_; 597 Task* task_;
617 bool* should_leak_task_; 598 bool* should_leak_task_;
618 static bool kTaskLeakingDefault; 599 static bool kTaskLeakingDefault;
619 }; 600 };
620 601
621 } // namespace subtle 602 } // namespace subtle
622 603
623 } // namespace base 604 } // namespace base
624 605
625 #endif // BASE_TASK_H_ 606 #endif // BASE_TASK_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/automation/automation_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698