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

Side by Side Diff: third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.h

Issue 2583333002: Revert of Dont post delayed DoWork for disabled queues. (Closed)
Patch Set: Created 4 years 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_BASE_TASK_QUEUE_MANAGER_H_ 5 #ifndef THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_BASE_TASK_QUEUE_MANAGER_H_
6 #define THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_BASE_TASK_QUEUE_MANAGER_H_ 6 #define THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_BASE_TASK_QUEUE_MANAGER_H_
7 7
8 #include <map> 8 #include <map>
9 9
10 #include "base/atomic_sequence_num.h" 10 #include "base/atomic_sequence_num.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 // Requests that a task to process work is posted on the main task runner. 67 // Requests that a task to process work is posted on the main task runner.
68 // These tasks are de-duplicated in two buckets: main-thread and all other 68 // These tasks are de-duplicated in two buckets: main-thread and all other
69 // threads. This distinction is done to reduce the overehead from locks, we 69 // threads. This distinction is done to reduce the overehead from locks, we
70 // assume the main-thread path will be hot. 70 // assume the main-thread path will be hot.
71 void MaybeScheduleImmediateWork(const tracked_objects::Location& from_here); 71 void MaybeScheduleImmediateWork(const tracked_objects::Location& from_here);
72 72
73 // Requests that a delayed task to process work is posted on the main task 73 // Requests that a delayed task to process work is posted on the main task
74 // runner. These delayed tasks are de-duplicated. Must be called on the thread 74 // runner. These delayed tasks are de-duplicated. Must be called on the thread
75 // this class was created on. 75 // this class was created on.
76 void MaybeScheduleDelayedWork(const tracked_objects::Location& from_here, 76 void MaybeScheduleDelayedWork(const tracked_objects::Location& from_here,
77 LazyNow* lazy_now, 77 base::TimeTicks now,
78 base::TimeTicks run_time); 78 base::TimeDelta delay);
79
80 // Cancels a delayed task to process work at |run_time|, previously requested
81 // with MaybeScheduleDelayedWork.
82 void CancelDelayedWork(base::TimeTicks run_time);
83 79
84 // Set the number of tasks executed in a single invocation of the task queue 80 // Set the number of tasks executed in a single invocation of the task queue
85 // manager. Increasing the batch size can reduce the overhead of yielding 81 // manager. Increasing the batch size can reduce the overhead of yielding
86 // back to the main message loop -- at the cost of potentially delaying other 82 // back to the main message loop -- at the cost of potentially delaying other
87 // tasks posted to the main loop. The batch size is 1 by default. 83 // tasks posted to the main loop. The batch size is 1 by default.
88 void SetWorkBatchSize(int work_batch_size); 84 void SetWorkBatchSize(int work_batch_size);
89 85
90 // These functions can only be called on the same thread that the task queue 86 // These functions can only be called on the same thread that the task queue
91 // manager executes its tasks on. 87 // manager executes its tasks on.
92 void AddTaskObserver(base::MessageLoop::TaskObserver* task_observer); 88 void AddTaskObserver(base::MessageLoop::TaskObserver* task_observer);
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 scoped_refptr<DeletionSentinel> deletion_sentinel_; 294 scoped_refptr<DeletionSentinel> deletion_sentinel_;
299 base::WeakPtrFactory<TaskQueueManager> weak_factory_; 295 base::WeakPtrFactory<TaskQueueManager> weak_factory_;
300 296
301 DISALLOW_COPY_AND_ASSIGN(TaskQueueManager); 297 DISALLOW_COPY_AND_ASSIGN(TaskQueueManager);
302 }; 298 };
303 299
304 } // namespace scheduler 300 } // namespace scheduler
305 } // namespace blink 301 } // namespace blink
306 302
307 #endif // THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_BASE_TASK_QUEUE_MANAGER_ H_ 303 #endif // THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_BASE_TASK_QUEUE_MANAGER_ H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698