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

Side by Side Diff: content/renderer/scheduler/renderer_scheduler_impl.cc

Issue 922733002: scheduler: Implement task observers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Build fix. Created 5 years, 10 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 "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
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
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
OLDNEW
« no previous file with comments | « content/renderer/scheduler/renderer_scheduler_impl.h ('k') | content/renderer/scheduler/task_queue_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698