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

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

Issue 1106213002: Adds a SHUTDOWN_TASK_QUEUE and a PreShutdown api to the scheduler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review comments. Created 5 years, 7 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 "components/scheduler/renderer/renderer_scheduler_impl.h" 5 #include "components/scheduler/renderer/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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), "RendererScheduler", 53 TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), "RendererScheduler",
54 this); 54 this);
55 } 55 }
56 56
57 RendererSchedulerImpl::~RendererSchedulerImpl() { 57 RendererSchedulerImpl::~RendererSchedulerImpl() {
58 TRACE_EVENT_OBJECT_DELETED_WITH_ID( 58 TRACE_EVENT_OBJECT_DELETED_WITH_ID(
59 TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), "RendererScheduler", 59 TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), "RendererScheduler",
60 this); 60 this);
61 } 61 }
62 62
63 void RendererSchedulerImpl::PreShutdown() {
64 helper_.PreShutdown();
65 }
66
63 void RendererSchedulerImpl::Shutdown() { 67 void RendererSchedulerImpl::Shutdown() {
64 helper_.Shutdown(); 68 helper_.Shutdown();
65 } 69 }
66 70
67 scoped_refptr<base::SingleThreadTaskRunner> 71 scoped_refptr<base::SingleThreadTaskRunner>
68 RendererSchedulerImpl::DefaultTaskRunner() { 72 RendererSchedulerImpl::DefaultTaskRunner() {
69 return helper_.DefaultTaskRunner(); 73 return helper_.DefaultTaskRunner();
70 } 74 }
71 75
72 scoped_refptr<base::SingleThreadTaskRunner> 76 scoped_refptr<base::SingleThreadTaskRunner>
(...skipping 12 matching lines...) Expand all
85 helper_.CheckOnValidThread(); 89 helper_.CheckOnValidThread();
86 return loading_task_runner_; 90 return loading_task_runner_;
87 } 91 }
88 92
89 scoped_refptr<base::SingleThreadTaskRunner> 93 scoped_refptr<base::SingleThreadTaskRunner>
90 RendererSchedulerImpl::TimerTaskRunner() { 94 RendererSchedulerImpl::TimerTaskRunner() {
91 helper_.CheckOnValidThread(); 95 helper_.CheckOnValidThread();
92 return timer_task_runner_; 96 return timer_task_runner_;
93 } 97 }
94 98
99 scoped_refptr<base::SingleThreadTaskRunner>
100 RendererSchedulerImpl::ShutdownTaskRunner() {
101 helper_.CheckOnValidThread();
102 return helper_.ShutdownTaskRunner();
103 }
104
95 bool RendererSchedulerImpl::CanExceedIdleDeadlineIfRequired() const { 105 bool RendererSchedulerImpl::CanExceedIdleDeadlineIfRequired() const {
96 return helper_.CanExceedIdleDeadlineIfRequired(); 106 return helper_.CanExceedIdleDeadlineIfRequired();
97 } 107 }
98 108
99 void RendererSchedulerImpl::AddTaskObserver( 109 void RendererSchedulerImpl::AddTaskObserver(
100 base::MessageLoop::TaskObserver* task_observer) { 110 base::MessageLoop::TaskObserver* task_observer) {
101 helper_.AddTaskObserver(task_observer); 111 helper_.AddTaskObserver(task_observer);
102 } 112 }
103 113
104 void RendererSchedulerImpl::RemoveTaskObserver( 114 void RendererSchedulerImpl::RemoveTaskObserver(
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 // meaningful touchstart response and should not impact task priority. 630 // meaningful touchstart response and should not impact task priority.
621 return current_state; 631 return current_state;
622 632
623 default: 633 default:
624 break; 634 break;
625 } 635 }
626 return InputStreamState::ACTIVE; 636 return InputStreamState::ACTIVE;
627 } 637 }
628 638
629 } // namespace scheduler 639 } // namespace scheduler
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698