OLD | NEW |
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 CONTENT_RENDERER_SCHEDULER_BASE_TASK_QUEUE_MANAGER_H_ | 5 #ifndef CONTENT_RENDERER_SCHEDULER_BASE_TASK_QUEUE_MANAGER_H_ |
6 #define CONTENT_RENDERER_SCHEDULER_BASE_TASK_QUEUE_MANAGER_H_ | 6 #define CONTENT_RENDERER_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 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 // Called when |queue| is unregistered. | 93 // Called when |queue| is unregistered. |
94 virtual void OnUnregisterTaskQueue( | 94 virtual void OnUnregisterTaskQueue( |
95 const scoped_refptr<internal::TaskQueueImpl>& queue) = 0; | 95 const scoped_refptr<internal::TaskQueueImpl>& queue) = 0; |
96 }; | 96 }; |
97 | 97 |
98 // Called once to set the Observer. This function is called on the main | 98 // Called once to set the Observer. This function is called on the main |
99 // thread. If |observer| is null, then no callbacks will occur. | 99 // thread. If |observer| is null, then no callbacks will occur. |
100 // Note |observer| is expected to outlive the SchedulerHelper. | 100 // Note |observer| is expected to outlive the SchedulerHelper. |
101 void SetObserver(Observer* observer); | 101 void SetObserver(Observer* observer); |
102 | 102 |
103 // Returns the TickClock used by the TaskQueueManager. | 103 // Returns the delegate used by the TaskQueueManager. |
104 base::TickClock* tick_clock() const; | 104 const scoped_refptr<TaskQueueManagerDelegate>& delegate() const; |
105 | 105 |
106 private: | 106 private: |
107 friend class internal::LazyNow; | 107 friend class internal::LazyNow; |
108 friend class internal::TaskQueueImpl; | 108 friend class internal::TaskQueueImpl; |
109 friend class TaskQueueManagerTest; | 109 friend class TaskQueueManagerTest; |
110 | 110 |
111 class DeletionSentinel : public base::RefCounted<DeletionSentinel> { | 111 class DeletionSentinel : public base::RefCounted<DeletionSentinel> { |
112 private: | 112 private: |
113 friend class base::RefCounted<DeletionSentinel>; | 113 friend class base::RefCounted<DeletionSentinel>; |
114 ~DeletionSentinel() {} | 114 ~DeletionSentinel() {} |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 Observer* observer_; // NOT OWNED | 242 Observer* observer_; // NOT OWNED |
243 scoped_refptr<DeletionSentinel> deletion_sentinel_; | 243 scoped_refptr<DeletionSentinel> deletion_sentinel_; |
244 base::WeakPtrFactory<TaskQueueManager> weak_factory_; | 244 base::WeakPtrFactory<TaskQueueManager> weak_factory_; |
245 | 245 |
246 DISALLOW_COPY_AND_ASSIGN(TaskQueueManager); | 246 DISALLOW_COPY_AND_ASSIGN(TaskQueueManager); |
247 }; | 247 }; |
248 | 248 |
249 } // namespace scheduler | 249 } // namespace scheduler |
250 | 250 |
251 #endif // CONTENT_RENDERER_SCHEDULER_BASE_TASK_QUEUE_MANAGER_H_ | 251 #endif // CONTENT_RENDERER_SCHEDULER_BASE_TASK_QUEUE_MANAGER_H_ |
OLD | NEW |