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

Side by Side Diff: third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc

Issue 2808843003: [scheduler] Change TaskQueue observer call mechanism. (Closed)
Patch Set: Fix compilation Created 3 years, 7 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 657 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 } 668 }
669 state->EndArray(); 669 state->EndArray();
670 } 670 }
671 return std::move(state); 671 return std::move(state);
672 } 672 }
673 673
674 void TaskQueueManager::OnTaskQueueEnabled(internal::TaskQueueImpl* queue) { 674 void TaskQueueManager::OnTaskQueueEnabled(internal::TaskQueueImpl* queue) {
675 DCHECK(main_thread_checker_.CalledOnValidThread()); 675 DCHECK(main_thread_checker_.CalledOnValidThread());
676 DCHECK(queue->IsQueueEnabled()); 676 DCHECK(queue->IsQueueEnabled());
677 // Only schedule DoWork if there's something to do. 677 // Only schedule DoWork if there's something to do.
678 if (queue->HasPendingImmediateWork() && !queue->BlockedByFence()) 678 if (queue->HasTaskToRunImmediately() && !queue->BlockedByFence())
679 MaybeScheduleImmediateWork(FROM_HERE); 679 MaybeScheduleImmediateWork(FROM_HERE);
680 } 680 }
681 681
682 void TaskQueueManager::OnTriedToSelectBlockedWorkQueue( 682 void TaskQueueManager::OnTriedToSelectBlockedWorkQueue(
683 internal::WorkQueue* work_queue) { 683 internal::WorkQueue* work_queue) {
684 DCHECK(main_thread_checker_.CalledOnValidThread()); 684 DCHECK(main_thread_checker_.CalledOnValidThread());
685 DCHECK(!work_queue->Empty()); 685 DCHECK(!work_queue->Empty());
686 if (observer_) { 686 if (observer_) {
687 observer_->OnTriedToExecuteBlockedTask(*work_queue->task_queue(), 687 observer_->OnTriedToExecuteBlockedTask(*work_queue->task_queue(),
688 *work_queue->GetFrontTask()); 688 *work_queue->GetFrontTask());
(...skipping 15 matching lines...) Expand all
704 for (const scoped_refptr<internal::TaskQueueImpl>& queue : queues_) { 704 for (const scoped_refptr<internal::TaskQueueImpl>& queue : queues_) {
705 TimeDomain* time_domain = queue->GetTimeDomain(); 705 TimeDomain* time_domain = queue->GetTimeDomain();
706 if (time_domain_now.find(time_domain) == time_domain_now.end()) 706 if (time_domain_now.find(time_domain) == time_domain_now.end())
707 time_domain_now.insert(std::make_pair(time_domain, time_domain->Now())); 707 time_domain_now.insert(std::make_pair(time_domain, time_domain->Now()));
708 queue->SweepCanceledDelayedTasks(time_domain_now[time_domain]); 708 queue->SweepCanceledDelayedTasks(time_domain_now[time_domain]);
709 } 709 }
710 } 710 }
711 711
712 } // namespace scheduler 712 } // namespace scheduler
713 } // namespace blink 713 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698