OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef CONTENT_RENDERER_SCHEDULER_BASE_TASK_QUEUE_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_SCHEDULER_BASE_TASK_QUEUE_IMPL_H_ |
6 #define CONTENT_RENDERER_SCHEDULER_BASE_TASK_QUEUE_IMPL_H_ | 6 #define CONTENT_RENDERER_SCHEDULER_BASE_TASK_QUEUE_IMPL_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 const base::Closure& task, | 91 const base::Closure& task, |
92 base::TimeDelta delay) override; | 92 base::TimeDelta delay) override; |
93 | 93 |
94 void SetQueueEnabled(bool enabled) override; | 94 void SetQueueEnabled(bool enabled) override; |
95 bool IsQueueEnabled() const override; | 95 bool IsQueueEnabled() const override; |
96 bool IsEmpty() const override; | 96 bool IsEmpty() const override; |
97 bool HasPendingImmediateWork() const override; | 97 bool HasPendingImmediateWork() const override; |
98 bool NeedsPumping() const override; | 98 bool NeedsPumping() const override; |
99 void SetQueuePriority(QueuePriority priority) override; | 99 void SetQueuePriority(QueuePriority priority) override; |
100 QueuePriority GetQueuePriority() const override; | 100 QueuePriority GetQueuePriority() const override; |
101 void PumpQueue(bool may_post_dowork) override; | 101 void PumpQueue(LazyNow* lazy_now, bool may_post_dowork) override; |
102 void SetPumpPolicy(PumpPolicy pump_policy) override; | 102 void SetPumpPolicy(PumpPolicy pump_policy) override; |
103 PumpPolicy GetPumpPolicy() const override; | 103 PumpPolicy GetPumpPolicy() const override; |
104 void AddTaskObserver(base::MessageLoop::TaskObserver* task_observer) override; | 104 void AddTaskObserver(base::MessageLoop::TaskObserver* task_observer) override; |
105 void RemoveTaskObserver( | 105 void RemoveTaskObserver( |
106 base::MessageLoop::TaskObserver* task_observer) override; | 106 base::MessageLoop::TaskObserver* task_observer) override; |
107 void SetTimeDomain(TimeDomain* time_domain) override; | 107 void SetTimeDomain(TimeDomain* time_domain) override; |
108 TimeDomain* GetTimeDomain() const override; | 108 TimeDomain* GetTimeDomain() const override; |
109 void SetBlameContext(base::trace_event::BlameContext* blame_context) override; | 109 void SetBlameContext(base::trace_event::BlameContext* blame_context) override; |
110 | 110 |
111 void UpdateImmediateWorkQueue(bool should_trigger_wakeup, | 111 void UpdateImmediateWorkQueue(bool should_trigger_wakeup, |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 | 229 |
230 void ScheduleDelayedWorkTask(Task pending_task); | 230 void ScheduleDelayedWorkTask(Task pending_task); |
231 | 231 |
232 // Enqueues any delayed tasks which should be run now on the | 232 // Enqueues any delayed tasks which should be run now on the |
233 // |delayed_work_queue|. Must be called from the main thread. | 233 // |delayed_work_queue|. Must be called from the main thread. |
234 void MoveReadyDelayedTasksToDelayedWorkQueue(LazyNow* lazy_now); | 234 void MoveReadyDelayedTasksToDelayedWorkQueue(LazyNow* lazy_now); |
235 | 235 |
236 void MoveReadyImmediateTasksToImmediateWorkQueueLocked(); | 236 void MoveReadyImmediateTasksToImmediateWorkQueueLocked(); |
237 | 237 |
238 // Note this does nothing if its not called from the main thread. | 238 // Note this does nothing if its not called from the main thread. |
239 void PumpQueueLocked(bool may_post_dowork); | 239 void PumpQueueLocked(LazyNow* lazy_now, bool may_post_dowork); |
240 | 240 |
241 // Returns true if |task| is older than the oldest incoming immediate task. | 241 // Returns true if |task| is older than the oldest incoming immediate task. |
242 // NOTE |any_thread_lock_| must be locked. | 242 // NOTE |any_thread_lock_| must be locked. |
243 bool TaskIsOlderThanQueuedImmediateTasksLocked(const Task* task); | 243 bool TaskIsOlderThanQueuedImmediateTasksLocked(const Task* task); |
244 | 244 |
245 // Returns true if |task| is older than the oldest delayed task. Must be | 245 // Returns true if |task| is older than the oldest delayed task. Must be |
246 // called from the main thread. | 246 // called from the main thread. |
247 bool TaskIsOlderThanQueuedDelayedTasks(const Task* task); | 247 bool TaskIsOlderThanQueuedDelayedTasks(const Task* task); |
248 | 248 |
249 // NOTE |any_thread_lock_| must be locked. | 249 // NOTE |any_thread_lock_| must be locked. |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 const bool should_notify_observers_; | 300 const bool should_notify_observers_; |
301 const bool should_report_when_execution_blocked_; | 301 const bool should_report_when_execution_blocked_; |
302 | 302 |
303 DISALLOW_COPY_AND_ASSIGN(TaskQueueImpl); | 303 DISALLOW_COPY_AND_ASSIGN(TaskQueueImpl); |
304 }; | 304 }; |
305 | 305 |
306 } // namespace internal | 306 } // namespace internal |
307 } // namespace scheduler | 307 } // namespace scheduler |
308 | 308 |
309 #endif // CONTENT_RENDERER_SCHEDULER_BASE_TASK_QUEUE_IMPL_H_ | 309 #endif // CONTENT_RENDERER_SCHEDULER_BASE_TASK_QUEUE_IMPL_H_ |
OLD | NEW |