Index: base/timer/timer.h |
diff --git a/base/timer/timer.h b/base/timer/timer.h |
index 6d282ee8e7ac84f3d6f5757650c08be70463f9e6..cf3a4111af00bccb12d3cd05453ee7964c95a67e 100644 |
--- a/base/timer/timer.h |
+++ b/base/timer/timer.h |
@@ -55,6 +55,7 @@ |
#include "base/bind_helpers.h" |
#include "base/callback.h" |
#include "base/location.h" |
+#include "base/single_thread_task_runner.h" |
#include "base/time/time.h" |
namespace base { |
@@ -87,6 +88,10 @@ class BASE_EXPORT Timer { |
// Returns the current delay for this timer. |
virtual TimeDelta GetCurrentDelay() const; |
+ // Set the task runner on which the task should be scheduled. This method can |
+ // only be called before any tasks have been scheduled. |
+ virtual void SetTaskRunner(scoped_refptr<SingleThreadTaskRunner> task_runner); |
+ |
// Start the timer to run at the given |delay| from now. If the timer is |
// already running, it will be replaced to call the given |user_task|. |
virtual void Start(const tracked_objects::Location& posted_from, |
@@ -122,6 +127,11 @@ class BASE_EXPORT Timer { |
// and desired_run_time_ are reset to Now() + delay. |
void PostNewScheduledTask(TimeDelta delay); |
+ // Returns the task runner on which the task should be scheduled. If the |
+ // corresponding task_runner_ field is NULL, the task runner for the current |
danakj
2014/10/18 19:00:00
NULL -> empty or null?
petrcermak
2014/10/20 12:42:41
Done (null).
|
+ // thread is returned. |
+ scoped_refptr<SingleThreadTaskRunner> GetTaskRunner(); |
+ |
// Disable scheduled_task_ and abandon it so that it no longer refers back to |
// this object. |
void AbandonScheduledTask(); |
@@ -139,6 +149,10 @@ class BASE_EXPORT Timer { |
// RunScheduledTask() at scheduled_run_time_. |
BaseTimerTaskInternal* scheduled_task_; |
+ // The task runner on which the task should be scheduled. If it is NULL, the |
danakj
2014/10/18 19:00:00
NULL -> empty or null?
petrcermak
2014/10/20 12:42:41
Done (null).
|
+ // task runner for the current thread should be used. |
+ scoped_refptr<SingleThreadTaskRunner> task_runner_; |
+ |
// Location in user code. |
tracked_objects::Location posted_from_; |
// Delay requested by user. |