| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 TaskRunnerHelper_h | 5 #ifndef TaskRunnerHelper_h |
| 6 #define TaskRunnerHelper_h | 6 #define TaskRunnerHelper_h |
| 7 | 7 |
| 8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" |
| 9 #include "wtf/Allocator.h" | 9 #include "wtf/Allocator.h" |
| 10 #include "wtf/HashTraits.h" | 10 #include "wtf/HashTraits.h" |
| 11 | 11 |
| 12 namespace blink { | 12 namespace blink { |
| 13 | 13 |
| 14 class Document; | 14 class Document; |
| 15 class ExecutionContext; | 15 class ExecutionContext; |
| 16 class LocalFrame; | 16 class LocalFrame; |
| 17 class ScriptState; | 17 class ScriptState; |
| 18 class WebTaskRunner; | 18 class WebTaskRunner; |
| 19 class WorkerThread; |
| 19 | 20 |
| 20 enum class TaskType : unsigned { | 21 enum class TaskType : unsigned { |
| 21 // Speced tasks and related internal tasks should be posted to one of | 22 // Speced tasks and related internal tasks should be posted to one of |
| 22 // the following task runners. These task runners may be throttled. | 23 // the following task runners. These task runners may be throttled. |
| 23 | 24 |
| 24 // https://html.spec.whatwg.org/multipage/webappapis.html#generic-task-sources | 25 // https://html.spec.whatwg.org/multipage/webappapis.html#generic-task-sources |
| 25 // | 26 // |
| 26 // This task source is used for features that react to DOM manipulations, such | 27 // This task source is used for features that react to DOM manipulations, such |
| 27 // as things that happen in a non-blocking fashion when an element is inserted | 28 // as things that happen in a non-blocking fashion when an element is inserted |
| 28 // into the document. | 29 // into the document. |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 // object. The posted tasks are guaranteed to run in a sequence if they have the | 140 // object. The posted tasks are guaranteed to run in a sequence if they have the |
| 140 // same TaskType and the context objects belong to the same frame. | 141 // same TaskType and the context objects belong to the same frame. |
| 141 class CORE_EXPORT TaskRunnerHelper final { | 142 class CORE_EXPORT TaskRunnerHelper final { |
| 142 STATIC_ONLY(TaskRunnerHelper); | 143 STATIC_ONLY(TaskRunnerHelper); |
| 143 | 144 |
| 144 public: | 145 public: |
| 145 static RefPtr<WebTaskRunner> get(TaskType, LocalFrame*); | 146 static RefPtr<WebTaskRunner> get(TaskType, LocalFrame*); |
| 146 static RefPtr<WebTaskRunner> get(TaskType, Document*); | 147 static RefPtr<WebTaskRunner> get(TaskType, Document*); |
| 147 static RefPtr<WebTaskRunner> get(TaskType, ExecutionContext*); | 148 static RefPtr<WebTaskRunner> get(TaskType, ExecutionContext*); |
| 148 static RefPtr<WebTaskRunner> get(TaskType, ScriptState*); | 149 static RefPtr<WebTaskRunner> get(TaskType, ScriptState*); |
| 150 static RefPtr<WebTaskRunner> get(TaskType, WorkerThread*); |
| 149 }; | 151 }; |
| 150 | 152 |
| 151 } // namespace blink | 153 } // namespace blink |
| 152 | 154 |
| 153 #endif | 155 #endif |
| OLD | NEW |