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 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
343 renderer_task_queue_selector_->DisableQueue(IDLE_TASK_QUEUE); | 343 renderer_task_queue_selector_->DisableQueue(IDLE_TASK_QUEUE); |
344 } | 344 } |
345 | 345 |
346 void RendererSchedulerImpl::SetTimeSourceForTesting( | 346 void RendererSchedulerImpl::SetTimeSourceForTesting( |
347 scoped_refptr<cc::TestNowSource> time_source) { | 347 scoped_refptr<cc::TestNowSource> time_source) { |
348 DCHECK(main_thread_checker_.CalledOnValidThread()); | 348 DCHECK(main_thread_checker_.CalledOnValidThread()); |
349 time_source_ = time_source; | 349 time_source_ = time_source; |
350 task_queue_manager_->SetTimeSourceForTesting(time_source); | 350 task_queue_manager_->SetTimeSourceForTesting(time_source); |
351 } | 351 } |
352 | 352 |
| 353 void RendererSchedulerImpl::SetWorkBatchSizeForTesting(size_t work_batch_size) { |
| 354 DCHECK(main_thread_checker_.CalledOnValidThread()); |
| 355 task_queue_manager_->SetWorkBatchSize(work_batch_size); |
| 356 } |
| 357 |
353 base::TimeTicks RendererSchedulerImpl::Now() const { | 358 base::TimeTicks RendererSchedulerImpl::Now() const { |
354 return UNLIKELY(time_source_) ? time_source_->Now() : base::TimeTicks::Now(); | 359 return UNLIKELY(time_source_) ? time_source_->Now() : base::TimeTicks::Now(); |
355 } | 360 } |
356 | 361 |
357 RendererSchedulerImpl::PollableNeedsUpdateFlag::PollableNeedsUpdateFlag( | 362 RendererSchedulerImpl::PollableNeedsUpdateFlag::PollableNeedsUpdateFlag( |
358 base::Lock* write_lock_) | 363 base::Lock* write_lock_) |
359 : flag_(false), write_lock_(write_lock_) { | 364 : flag_(false), write_lock_(write_lock_) { |
360 } | 365 } |
361 | 366 |
362 RendererSchedulerImpl::PollableNeedsUpdateFlag::~PollableNeedsUpdateFlag() { | 367 RendererSchedulerImpl::PollableNeedsUpdateFlag::~PollableNeedsUpdateFlag() { |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
474 // With no observable effect, these meta events do not indicate a | 479 // With no observable effect, these meta events do not indicate a |
475 // meaningful touchstart response and should not impact task priority. | 480 // meaningful touchstart response and should not impact task priority. |
476 return current_state; | 481 return current_state; |
477 | 482 |
478 default: | 483 default: |
479 break; | 484 break; |
480 } | 485 } |
481 return INPUT_ACTIVE; | 486 return INPUT_ACTIVE; |
482 } | 487 } |
483 | 488 |
| 489 void RendererSchedulerImpl::AddTaskObserver( |
| 490 base::MessageLoop::TaskObserver* task_observer) { |
| 491 DCHECK(main_thread_checker_.CalledOnValidThread()); |
| 492 if (task_queue_manager_) |
| 493 task_queue_manager_->AddTaskObserver(task_observer); |
| 494 } |
| 495 |
| 496 void RendererSchedulerImpl::RemoveTaskObserver( |
| 497 base::MessageLoop::TaskObserver* task_observer) { |
| 498 DCHECK(main_thread_checker_.CalledOnValidThread()); |
| 499 if (task_queue_manager_) |
| 500 task_queue_manager_->RemoveTaskObserver(task_observer); |
| 501 } |
| 502 |
484 } // namespace content | 503 } // namespace content |
OLD | NEW |