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

Unified Diff: third_party/WebKit/Source/platform/scheduler/base/task_queue_selector.cc

Issue 2786083005: scheduler: Maintain a constant enqueue order for every task (Closed)
Patch Set: WASM workaround no longer needed Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698