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

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

Issue 2118903002: scheduler: Move the Blink scheduler into Blink (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 4 months 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 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 THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_BASE_TASK_QUEUE_IMPL_H_
6 #define CONTENT_RENDERER_SCHEDULER_BASE_TASK_QUEUE_IMPL_H_ 6 #define THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_BASE_TASK_QUEUE_IMPL_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <memory> 10 #include <memory>
11 #include <set> 11 #include <set>
12 12
13 #include "base/macros.h" 13 #include "base/macros.h"
14 #include "base/pending_task.h" 14 #include "base/pending_task.h"
15 #include "base/threading/thread_checker.h" 15 #include "base/threading/thread_checker.h"
16 #include "base/trace_event/trace_event.h" 16 #include "base/trace_event/trace_event.h"
17 #include "base/trace_event/trace_event_argument.h" 17 #include "base/trace_event/trace_event_argument.h"
18 #include "components/scheduler/base/enqueue_order.h" 18 #include "platform/scheduler/base/enqueue_order.h"
19 #include "components/scheduler/base/task_queue.h" 19 #include "public/platform/scheduler/base/task_queue.h"
20 #include "components/scheduler/scheduler_export.h"
21 20
21 namespace blink {
22 namespace scheduler { 22 namespace scheduler {
23 class LazyNow; 23 class LazyNow;
24 class TimeDomain; 24 class TimeDomain;
25 class TaskQueueManager; 25 class TaskQueueManager;
26 26
27 namespace internal { 27 namespace internal {
28 class WorkQueue; 28 class WorkQueue;
29 class WorkQueueSets; 29 class WorkQueueSets;
30 30
31 class SCHEDULER_EXPORT TaskQueueImpl final : public TaskQueue { 31 class BLINK_PLATFORM_EXPORT TaskQueueImpl final : public TaskQueue {
32 public: 32 public:
33 TaskQueueImpl(TaskQueueManager* task_queue_manager, 33 TaskQueueImpl(TaskQueueManager* task_queue_manager,
34 TimeDomain* time_domain, 34 TimeDomain* time_domain,
35 const Spec& spec, 35 const Spec& spec,
36 const char* disabled_by_default_tracing_category, 36 const char* disabled_by_default_tracing_category,
37 const char* disabled_by_default_verbose_tracing_category); 37 const char* disabled_by_default_verbose_tracing_category);
38 38
39 class SCHEDULER_EXPORT Task : public base::PendingTask { 39 class BLINK_PLATFORM_EXPORT Task : public base::PendingTask {
40 public: 40 public:
41 Task(); 41 Task();
42 Task(const tracked_objects::Location& posted_from, 42 Task(const tracked_objects::Location& posted_from,
43 const base::Closure& task, 43 const base::Closure& task,
44 base::TimeTicks desired_run_time, 44 base::TimeTicks desired_run_time,
45 EnqueueOrder sequence_number, 45 EnqueueOrder sequence_number,
46 bool nestable); 46 bool nestable);
47 47
48 Task(const tracked_objects::Location& posted_from, 48 Task(const tracked_objects::Location& posted_from,
49 const base::Closure& task, 49 const base::Closure& task,
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 WakeupPolicy wakeup_policy() const { 117 WakeupPolicy wakeup_policy() const {
118 DCHECK(main_thread_checker_.CalledOnValidThread()); 118 DCHECK(main_thread_checker_.CalledOnValidThread());
119 return wakeup_policy_; 119 return wakeup_policy_;
120 } 120 }
121 121
122 const char* GetName() const override; 122 const char* GetName() const override;
123 123
124 void AsValueInto(base::trace_event::TracedValue* state) const; 124 void AsValueInto(base::trace_event::TracedValue* state) const;
125 125
126 bool GetQuiescenceMonitored() const { return should_monitor_quiescence_; } 126 bool GetQuiescenceMonitored() const { return should_monitor_quiescence_; }
127 bool GetShouldNotifyObservers() const { 127 bool GetShouldNotifyObservers() const { return should_notify_observers_; }
128 return should_notify_observers_;
129 }
130 128
131 void NotifyWillProcessTask(const base::PendingTask& pending_task); 129 void NotifyWillProcessTask(const base::PendingTask& pending_task);
132 void NotifyDidProcessTask(const base::PendingTask& pending_task); 130 void NotifyDidProcessTask(const base::PendingTask& pending_task);
133 131
134 // Can be called on any thread. 132 // Can be called on any thread.
135 static const char* PumpPolicyToString(TaskQueue::PumpPolicy pump_policy); 133 static const char* PumpPolicyToString(TaskQueue::PumpPolicy pump_policy);
136 134
137 // Can be called on any thread. 135 // Can be called on any thread.
138 static const char* WakeupPolicyToString( 136 static const char* WakeupPolicyToString(
139 TaskQueue::WakeupPolicy wakeup_policy); 137 TaskQueue::WakeupPolicy wakeup_policy);
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 const WakeupPolicy wakeup_policy_; 296 const WakeupPolicy wakeup_policy_;
299 const bool should_monitor_quiescence_; 297 const bool should_monitor_quiescence_;
300 const bool should_notify_observers_; 298 const bool should_notify_observers_;
301 const bool should_report_when_execution_blocked_; 299 const bool should_report_when_execution_blocked_;
302 300
303 DISALLOW_COPY_AND_ASSIGN(TaskQueueImpl); 301 DISALLOW_COPY_AND_ASSIGN(TaskQueueImpl);
304 }; 302 };
305 303
306 } // namespace internal 304 } // namespace internal
307 } // namespace scheduler 305 } // namespace scheduler
306 } // namespace blink
308 307
309 #endif // CONTENT_RENDERER_SCHEDULER_BASE_TASK_QUEUE_IMPL_H_ 308 #endif // THIRD_PARTY_WEBKIT_SOURCE_PLATFORM_SCHEDULER_BASE_TASK_QUEUE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698