| OLD | NEW |
| 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/renderer/task_queue_throttler.h" | 5 #include "platform/scheduler/renderer/task_queue_throttler.h" |
| 6 | 6 |
| 7 #include <cstdint> | 7 #include <cstdint> |
| 8 | 8 |
| 9 #include "base/format_macros.h" | 9 #include "base/format_macros.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 return base::StringPrintf( | 68 return base::StringPrintf( |
| 69 "0x%" PRIx64, | 69 "0x%" PRIx64, |
| 70 static_cast<uint64_t>(reinterpret_cast<uintptr_t>(pointer))); | 70 static_cast<uint64_t>(reinterpret_cast<uintptr_t>(pointer))); |
| 71 } | 71 } |
| 72 | 72 |
| 73 } // namespace | 73 } // namespace |
| 74 | 74 |
| 75 TaskQueueThrottler::TaskQueueThrottler( | 75 TaskQueueThrottler::TaskQueueThrottler( |
| 76 RendererSchedulerImpl* renderer_scheduler, | 76 RendererSchedulerImpl* renderer_scheduler, |
| 77 const char* tracing_category) | 77 const char* tracing_category) |
| 78 : task_runner_(renderer_scheduler->ControlTaskRunner()), | 78 : task_runner_(renderer_scheduler->ControlTaskQueue()), |
| 79 renderer_scheduler_(renderer_scheduler), | 79 renderer_scheduler_(renderer_scheduler), |
| 80 tick_clock_(renderer_scheduler->tick_clock()), | 80 tick_clock_(renderer_scheduler->tick_clock()), |
| 81 tracing_category_(tracing_category), | 81 tracing_category_(tracing_category), |
| 82 time_domain_(new ThrottledTimeDomain(tracing_category)), | 82 time_domain_(new ThrottledTimeDomain(tracing_category)), |
| 83 allow_throttling_(true), | 83 allow_throttling_(true), |
| 84 weak_factory_(this) { | 84 weak_factory_(this) { |
| 85 pump_throttled_tasks_closure_.Reset(base::Bind( | 85 pump_throttled_tasks_closure_.Reset(base::Bind( |
| 86 &TaskQueueThrottler::PumpThrottledTasks, weak_factory_.GetWeakPtr())); | 86 &TaskQueueThrottler::PumpThrottledTasks, weak_factory_.GetWeakPtr())); |
| 87 forward_immediate_work_callback_ = | 87 forward_immediate_work_callback_ = |
| 88 base::Bind(&TaskQueueThrottler::OnQueueNextWakeUpChanged, | 88 base::Bind(&TaskQueueThrottler::OnQueueNextWakeUpChanged, |
| (...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 484 queue->InsertFence(TaskQueue::InsertFencePosition::BEGINNING_OF_TIME); | 484 queue->InsertFence(TaskQueue::InsertFencePosition::BEGINNING_OF_TIME); |
| 485 queue->SetTimeDomain(time_domain_.get()); | 485 queue->SetTimeDomain(time_domain_.get()); |
| 486 SchedulePumpQueue(FROM_HERE, lazy_now.Now(), queue); | 486 SchedulePumpQueue(FROM_HERE, lazy_now.Now(), queue); |
| 487 } | 487 } |
| 488 | 488 |
| 489 TRACE_EVENT0(tracing_category_, "TaskQueueThrottler_EnableThrottling"); | 489 TRACE_EVENT0(tracing_category_, "TaskQueueThrottler_EnableThrottling"); |
| 490 } | 490 } |
| 491 | 491 |
| 492 } // namespace scheduler | 492 } // namespace scheduler |
| 493 } // namespace blink | 493 } // namespace blink |
| OLD | NEW |