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

Side by Side Diff: third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "platform/scheduler/base/task_queue_manager.h" 5 #include "platform/scheduler/base/task_queue_manager.h"
6 6
7 #include <queue> 7 #include <queue>
8 #include <set> 8 #include <set>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after
615 bool task_was_run = task_was_run_on_quiescence_monitored_queue_; 615 bool task_was_run = task_was_run_on_quiescence_monitored_queue_;
616 task_was_run_on_quiescence_monitored_queue_ = false; 616 task_was_run_on_quiescence_monitored_queue_ = false;
617 return !task_was_run; 617 return !task_was_run;
618 } 618 }
619 619
620 const scoped_refptr<TaskQueueManagerDelegate>& TaskQueueManager::Delegate() 620 const scoped_refptr<TaskQueueManagerDelegate>& TaskQueueManager::Delegate()
621 const { 621 const {
622 return delegate_; 622 return delegate_;
623 } 623 }
624 624
625 internal::EnqueueOrder TaskQueueManager::GetNextSequenceNumber() { 625 internal::EnqueueOrder TaskQueueManager::GetNextEnqueueOrder(
626 return enqueue_order_generator_.GenerateNext(); 626 base::TimeTicks delayed_run_time) {
627 return enqueue_order_generator_.GenerateNext(delayed_run_time);
627 } 628 }
628 629
629 LazyNow TaskQueueManager::CreateLazyNow() const { 630 LazyNow TaskQueueManager::CreateLazyNow() const {
630 return LazyNow(delegate_.get()); 631 return LazyNow(delegate_.get());
631 } 632 }
632 633
633 size_t TaskQueueManager::GetNumberOfPendingTasks() const { 634 size_t TaskQueueManager::GetNumberOfPendingTasks() const {
634 size_t task_count = 0; 635 size_t task_count = 0;
635 for (auto& queue : queues_) 636 for (auto& queue : queues_)
636 task_count += queue->GetNumberOfPendingTasks(); 637 task_count += queue->GetNumberOfPendingTasks();
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 for (const scoped_refptr<internal::TaskQueueImpl>& queue : queues_) { 712 for (const scoped_refptr<internal::TaskQueueImpl>& queue : queues_) {
712 TimeDomain* time_domain = queue->GetTimeDomain(); 713 TimeDomain* time_domain = queue->GetTimeDomain();
713 if (time_domain_now.find(time_domain) == time_domain_now.end()) 714 if (time_domain_now.find(time_domain) == time_domain_now.end())
714 time_domain_now.insert(std::make_pair(time_domain, time_domain->Now())); 715 time_domain_now.insert(std::make_pair(time_domain, time_domain->Now()));
715 queue->SweepCanceledDelayedTasks(time_domain_now[time_domain]); 716 queue->SweepCanceledDelayedTasks(time_domain_now[time_domain]);
716 } 717 }
717 } 718 }
718 719
719 } // namespace scheduler 720 } // namespace scheduler
720 } // namespace blink 721 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698