| Index: third_party/WebKit/Source/platform/scheduler/base/task_queue_selector.cc
|
| diff --git a/third_party/WebKit/Source/platform/scheduler/base/task_queue_selector.cc b/third_party/WebKit/Source/platform/scheduler/base/task_queue_selector.cc
|
| index 0a24636c20c8082417c45cf28ef6cf86e92ab559..abddb683d3b47015ebdf67e6bab154bc6cbb1fce 100644
|
| --- a/third_party/WebKit/Source/platform/scheduler/base/task_queue_selector.cc
|
| +++ b/third_party/WebKit/Source/platform/scheduler/base/task_queue_selector.cc
|
| @@ -170,7 +170,12 @@ bool TaskQueueSelector::PrioritizingSelector::
|
| EnqueueOrder delayed_enqueue_order;
|
| if (delayed_work_queue_sets_.GetOldestQueueAndEnqueueOrderInSet(
|
| priority, &delayed_queue, &delayed_enqueue_order)) {
|
| - if (immediate_enqueue_order < delayed_enqueue_order) {
|
| + // When comparing enqueue orders of immediate and delayed tasks, only look
|
| + // at the sequence number because the delay has already been applied. Note
|
| + // that the delayed run time is still taken into account by TaskQueueSets
|
| + // when comparing tasks across different queues.
|
| + if (immediate_enqueue_order.sequence_num <
|
| + delayed_enqueue_order.sequence_num) {
|
| *out_work_queue = immediate_queue;
|
| } else {
|
| *out_chose_delayed_over_immediate = true;
|
|
|