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

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

Issue 2437003002: [scheduler] Add type to scheduler::TaskQueue (Closed)
Patch Set: fix windows compilation Created 4 years, 2 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_impl.h" 5 #include "platform/scheduler/base/task_queue_impl.h"
6 6
7 #include "base/trace_event/blame_context.h" 7 #include "base/trace_event/blame_context.h"
8 #include "platform/scheduler/base/task_queue_manager.h" 8 #include "platform/scheduler/base/task_queue_manager.h"
9 #include "platform/scheduler/base/task_queue_manager_delegate.h" 9 #include "platform/scheduler/base/task_queue_manager_delegate.h"
10 #include "platform/scheduler/base/time_domain.h" 10 #include "platform/scheduler/base/time_domain.h"
11 #include "platform/scheduler/base/work_queue.h" 11 #include "platform/scheduler/base/work_queue.h"
12 12
13 namespace blink { 13 namespace blink {
14 namespace scheduler { 14 namespace scheduler {
15 15
16 // static
17 const char* TaskQueue::NameForQueueType(TaskQueue::QueueType queue_type) {
18 switch (queue_type) {
19 case TaskQueue::QueueType::CONTROL:
20 return "control_tq";
21 case TaskQueue::QueueType::DEFAULT:
22 return "default_tq";
23 case TaskQueue::QueueType::DEFAULT_LOADING:
24 return "default_loading_tq";
25 case TaskQueue::QueueType::DEFAULT_TIMER:
26 return "default_timer_tq";
27 case TaskQueue::QueueType::UNTHROTTLED:
28 return "unthrottled_tq";
29 case TaskQueue::QueueType::FRAME_LOADING:
30 return "frame_loading_tq";
31 case TaskQueue::QueueType::FRAME_TIMER:
32 return "frame_timer_tq";
33 case TaskQueue::QueueType::FRAME_UNTHROTTLED:
34 return "frame_unthrottled_tq";
35 case TaskQueue::QueueType::COMPOSITOR:
36 return "compositor_tq";
37 case TaskQueue::QueueType::IDLE:
38 return "idle_tq";
39 case TaskQueue::QueueType::TEST:
40 return "test_tq";
41 case TaskQueue::QueueType::COUNT:
42 DCHECK(false);
43 return nullptr;
44 }
45 DCHECK(false);
46 return nullptr;
47 }
48
16 namespace internal { 49 namespace internal {
17 50
18 TaskQueueImpl::TaskQueueImpl( 51 TaskQueueImpl::TaskQueueImpl(
19 TaskQueueManager* task_queue_manager, 52 TaskQueueManager* task_queue_manager,
20 TimeDomain* time_domain, 53 TimeDomain* time_domain,
21 const Spec& spec, 54 const Spec& spec,
22 const char* disabled_by_default_tracing_category, 55 const char* disabled_by_default_tracing_category,
23 const char* disabled_by_default_verbose_tracing_category) 56 const char* disabled_by_default_verbose_tracing_category)
24 : thread_id_(base::PlatformThread::CurrentId()), 57 : thread_id_(base::PlatformThread::CurrentId()),
25 any_thread_(task_queue_manager, time_domain), 58 any_thread_(task_queue_manager, time_domain),
26 name_(spec.name), 59 type_(spec.type),
60 name_(NameForQueueType(spec.type)),
27 disabled_by_default_tracing_category_( 61 disabled_by_default_tracing_category_(
28 disabled_by_default_tracing_category), 62 disabled_by_default_tracing_category),
29 disabled_by_default_verbose_tracing_category_( 63 disabled_by_default_verbose_tracing_category_(
30 disabled_by_default_verbose_tracing_category), 64 disabled_by_default_verbose_tracing_category),
31 main_thread_only_(task_queue_manager, this, time_domain), 65 main_thread_only_(task_queue_manager, this, time_domain),
32 should_monitor_quiescence_(spec.should_monitor_quiescence), 66 should_monitor_quiescence_(spec.should_monitor_quiescence),
33 should_notify_observers_(spec.should_notify_observers), 67 should_notify_observers_(spec.should_notify_observers),
34 should_report_when_execution_blocked_( 68 should_report_when_execution_blocked_(
35 spec.should_report_when_execution_blocked) { 69 spec.should_report_when_execution_blocked) {
36 DCHECK(time_domain); 70 DCHECK(time_domain);
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 main_thread_only().delayed_work_queue->Size() + 455 main_thread_only().delayed_work_queue->Size() +
422 main_thread_only().delayed_incoming_queue.size()); 456 main_thread_only().delayed_incoming_queue.size());
423 if (!is_locked) 457 if (!is_locked)
424 any_thread_lock_.Release(); 458 any_thread_lock_.Release();
425 } 459 }
426 460
427 const char* TaskQueueImpl::GetName() const { 461 const char* TaskQueueImpl::GetName() const {
428 return name_; 462 return name_;
429 } 463 }
430 464
465 TaskQueue::QueueType TaskQueueImpl::GetQueueType() const {
466 return type_;
467 }
468
431 void TaskQueueImpl::SetQueuePriority(QueuePriority priority) { 469 void TaskQueueImpl::SetQueuePriority(QueuePriority priority) {
432 if (!main_thread_only().task_queue_manager || priority == GetQueuePriority()) 470 if (!main_thread_only().task_queue_manager || priority == GetQueuePriority())
433 return; 471 return;
434 main_thread_only().task_queue_manager->selector_.SetQueuePriority(this, 472 main_thread_only().task_queue_manager->selector_.SetQueuePriority(this,
435 priority); 473 priority);
436 } 474 }
437 475
438 TaskQueueImpl::QueuePriority TaskQueueImpl::GetQueuePriority() const { 476 TaskQueueImpl::QueuePriority TaskQueueImpl::GetQueuePriority() const {
439 size_t set_index = immediate_work_queue()->work_queue_set_index(); 477 size_t set_index = immediate_work_queue()->work_queue_set_index();
440 DCHECK_EQ(set_index, delayed_work_queue()->work_queue_set_index()); 478 DCHECK_EQ(set_index, delayed_work_queue()->work_queue_set_index());
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
705 state->SetBoolean("is_cancelled", task.task.IsCancelled()); 743 state->SetBoolean("is_cancelled", task.task.IsCancelled());
706 state->SetDouble( 744 state->SetDouble(
707 "delayed_run_time", 745 "delayed_run_time",
708 (task.delayed_run_time - base::TimeTicks()).InMicroseconds() / 1000.0L); 746 (task.delayed_run_time - base::TimeTicks()).InMicroseconds() / 1000.0L);
709 state->EndDictionary(); 747 state->EndDictionary();
710 } 748 }
711 749
712 } // namespace internal 750 } // namespace internal
713 } // namespace scheduler 751 } // namespace scheduler
714 } // namespace blink 752 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698