Index: components/scheduler/base/task_queue.h |
diff --git a/components/scheduler/base/task_queue.h b/components/scheduler/base/task_queue.h |
index 393cc5077374a1b4f35302de9c1e6647b8273470..fbbbc257f0b7ad21e5d441b7dce348f89a641e3e 100644 |
--- a/components/scheduler/base/task_queue.h |
+++ b/components/scheduler/base/task_queue.h |
@@ -20,12 +20,6 @@ class SCHEDULER_EXPORT TaskQueue : public base::SingleThreadTaskRunner { |
// the TaskQueueManager's reference to it will be released soon. |
virtual void UnregisterTaskQueue() = 0; |
- // Post a delayed task at an absolute desired run time instead of a time |
- // delta from the current time. |
- virtual bool PostDelayedTaskAt(const tracked_objects::Location& from_here, |
- const base::Closure& task, |
- base::TimeTicks desired_run_time) = 0; |
- |
enum QueuePriority { |
// Queues with control priority will run before any other queue, and will |
// explicitly starve other queues. Typically this should only be used for |
@@ -91,6 +85,9 @@ class SCHEDULER_EXPORT TaskQueue : public base::SingleThreadTaskRunner { |
// A queue in the HAS_WORK state has tasks in the work task queue which |
// are runnable. |
HAS_WORK, |
+ // The work and incomming queues are empty but there is delayed work |
+ // scheduled. |
+ NO_IMMEDIATE_WORK, |
}; |
// Options for constructing a TaskQueue. Once set the |name|, |
@@ -145,10 +142,11 @@ class SCHEDULER_EXPORT TaskQueue : public base::SingleThreadTaskRunner { |
virtual bool IsQueueEnabled() const = 0; |
// Returns true if there no tasks in either the work or incoming task queue. |
+ // This method ignores delayed tasks that are scheduled to run in the future. |
// Note that this function involves taking a lock, so calling it has some |
// overhead. NOTE this must be called on the thread this TaskQueue was created |
// by. |
- virtual bool IsQueueEmpty() const; |
+ virtual bool HasPendingImmediateTask() const; |
// Returns the QueueState. Note that this function involves taking a lock, so |
// calling it has some overhead. |
@@ -183,7 +181,7 @@ class SCHEDULER_EXPORT TaskQueue : public base::SingleThreadTaskRunner { |
// Removes the task queue from the previous TimeDomain and adds it to |
// |domain|. This is a moderately expensive operation. |
- virtual void SetTimeDomain(const scoped_refptr<TimeDomain>& domain) = 0; |
+ virtual void SetTimeDomain(TimeDomain* domain) = 0; |
protected: |
~TaskQueue() override {} |