Chromium Code Reviews| Index: third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp |
| diff --git a/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp b/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp |
| index a9c1d1d1d906e828e44761cb200ea91de98abd2c..9c2048be84c55add166803ed31945aa2ea3c4ba0 100644 |
| --- a/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp |
| +++ b/third_party/WebKit/Source/core/dom/TaskRunnerHelper.cpp |
| @@ -16,6 +16,19 @@ namespace blink { |
| RefPtr<WebTaskRunner> TaskRunnerHelper::get(TaskType type, LocalFrame* frame) { |
| // TODO(haraken): Optimize the mapping from TaskTypes to task runners. |
| switch (type) { |
| + case TaskType::Timer: |
| + case TaskType::UnspecedTimer: |
|
haraken
2017/02/03 16:33:47
I would move UnspecedTimer to the unthrottled task
nhiroki
2017/02/03 21:39:17
Done.
|
| + return frame ? frame->frameScheduler()->timerTaskRunner() |
| + : Platform::current()->currentThread()->getWebTaskRunner(); |
| + case TaskType::UnspecedLoading: |
| + case TaskType::Networking: |
| + return frame ? frame->frameScheduler()->loadingTaskRunner() |
| + : Platform::current()->currentThread()->getWebTaskRunner(); |
| + // Throttling following tasks may break existing web pages, so tentatively |
| + // these are unthrottled. |
| + // TODO(nhiroki): Throttle them again after we're convinced that it's safe |
| + // or provide a mechanism that web pages can opt-out it if throttling is not |
| + // desirable. |
| case TaskType::DOMManipulation: |
| case TaskType::UserInteraction: |
| case TaskType::HistoryTraversal: |
| @@ -33,15 +46,7 @@ RefPtr<WebTaskRunner> TaskRunnerHelper::get(TaskType type, LocalFrame* frame) { |
| case TaskType::Sensor: |
| case TaskType::PerformanceTimeline: |
| case TaskType::WebGL: |
| - case TaskType::Timer: |
| - case TaskType::UnspecedTimer: |
| case TaskType::MiscPlatformAPI: |
| - return frame ? frame->frameScheduler()->timerTaskRunner() |
| - : Platform::current()->currentThread()->getWebTaskRunner(); |
| - case TaskType::UnspecedLoading: |
| - case TaskType::Networking: |
| - return frame ? frame->frameScheduler()->loadingTaskRunner() |
| - : Platform::current()->currentThread()->getWebTaskRunner(); |
| case TaskType::Unthrottled: |
| return frame ? frame->frameScheduler()->unthrottledTaskRunner() |
| : Platform::current()->currentThread()->getWebTaskRunner(); |