OLD | NEW |
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 "content/renderer/scheduler/renderer_scheduler_impl.h" | 5 #include "content/renderer/scheduler/renderer_scheduler_impl.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/message_loop/message_loop_proxy.h" | 8 #include "base/message_loop/message_loop_proxy.h" |
9 #include "base/trace_event/trace_event.h" | 9 #include "base/trace_event/trace_event.h" |
10 #include "base/trace_event/trace_event_argument.h" | 10 #include "base/trace_event/trace_event_argument.h" |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
329 renderer_task_queue_selector_->DisableQueue(IDLE_TASK_QUEUE); | 329 renderer_task_queue_selector_->DisableQueue(IDLE_TASK_QUEUE); |
330 } | 330 } |
331 | 331 |
332 void RendererSchedulerImpl::SetTimeSourceForTesting( | 332 void RendererSchedulerImpl::SetTimeSourceForTesting( |
333 scoped_refptr<cc::TestNowSource> time_source) { | 333 scoped_refptr<cc::TestNowSource> time_source) { |
334 DCHECK(main_thread_checker_.CalledOnValidThread()); | 334 DCHECK(main_thread_checker_.CalledOnValidThread()); |
335 time_source_ = time_source; | 335 time_source_ = time_source; |
336 task_queue_manager_->SetTimeSourceForTesting(time_source); | 336 task_queue_manager_->SetTimeSourceForTesting(time_source); |
337 } | 337 } |
338 | 338 |
| 339 void RendererSchedulerImpl::SetWorkBatchSizeForTesting(size_t work_batch_size) { |
| 340 DCHECK(main_thread_checker_.CalledOnValidThread()); |
| 341 task_queue_manager_->SetWorkBatchSize(work_batch_size); |
| 342 } |
| 343 |
339 base::TimeTicks RendererSchedulerImpl::Now() const { | 344 base::TimeTicks RendererSchedulerImpl::Now() const { |
340 return UNLIKELY(time_source_) ? time_source_->Now() : base::TimeTicks::Now(); | 345 return UNLIKELY(time_source_) ? time_source_->Now() : base::TimeTicks::Now(); |
341 } | 346 } |
342 | 347 |
343 RendererSchedulerImpl::PollableNeedsUpdateFlag::PollableNeedsUpdateFlag( | 348 RendererSchedulerImpl::PollableNeedsUpdateFlag::PollableNeedsUpdateFlag( |
344 base::Lock* write_lock_) | 349 base::Lock* write_lock_) |
345 : flag_(false), write_lock_(write_lock_) { | 350 : flag_(false), write_lock_(write_lock_) { |
346 } | 351 } |
347 | 352 |
348 RendererSchedulerImpl::PollableNeedsUpdateFlag::~PollableNeedsUpdateFlag() { | 353 RendererSchedulerImpl::PollableNeedsUpdateFlag::~PollableNeedsUpdateFlag() { |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
457 // With no observable effect, these meta events do not indicate a | 462 // With no observable effect, these meta events do not indicate a |
458 // meaningful touchstart response and should not impact task priority. | 463 // meaningful touchstart response and should not impact task priority. |
459 return current_state; | 464 return current_state; |
460 | 465 |
461 default: | 466 default: |
462 break; | 467 break; |
463 } | 468 } |
464 return INPUT_ACTIVE; | 469 return INPUT_ACTIVE; |
465 } | 470 } |
466 | 471 |
| 472 void RendererSchedulerImpl::AddTaskObserver( |
| 473 base::MessageLoop::TaskObserver* task_observer) { |
| 474 DCHECK(main_thread_checker_.CalledOnValidThread()); |
| 475 if (task_queue_manager_) |
| 476 task_queue_manager_->AddTaskObserver(task_observer); |
| 477 } |
| 478 |
| 479 void RendererSchedulerImpl::RemoveTaskObserver( |
| 480 base::MessageLoop::TaskObserver* task_observer) { |
| 481 DCHECK(main_thread_checker_.CalledOnValidThread()); |
| 482 if (task_queue_manager_) |
| 483 task_queue_manager_->RemoveTaskObserver(task_observer); |
| 484 } |
| 485 |
467 } // namespace content | 486 } // namespace content |
OLD | NEW |