| 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 "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/debug/stack_trace.h" | 8 #include "base/debug/stack_trace.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/trace_event/trace_event.h" | 10 #include "base/trace_event/trace_event.h" |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), | 38 TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), |
| 39 TRACE_DISABLED_BY_DEFAULT("renderer.scheduler.debug")), | 39 TRACE_DISABLED_BY_DEFAULT("renderer.scheduler.debug")), |
| 40 idle_helper_(&helper_, | 40 idle_helper_(&helper_, |
| 41 this, | 41 this, |
| 42 "renderer.scheduler", | 42 "renderer.scheduler", |
| 43 TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), | 43 TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), |
| 44 "RendererSchedulerIdlePeriod", | 44 "RendererSchedulerIdlePeriod", |
| 45 base::TimeDelta()), | 45 base::TimeDelta()), |
| 46 render_widget_scheduler_signals_(this), | 46 render_widget_scheduler_signals_(this), |
| 47 control_task_runner_(helper_.ControlTaskRunner()), | 47 control_task_runner_(helper_.ControlTaskRunner()), |
| 48 compositor_task_runner_( | 48 compositor_task_runner_(helper_.NewTaskQueue( |
| 49 helper_.NewTaskQueue(TaskQueue::Spec("compositor_tq") | 49 TaskQueue::Spec("compositor_tq").SetShouldMonitorQuiescence(true))), |
| 50 .SetShouldMonitorQuiescence(true))), | |
| 51 delayed_update_policy_runner_( | 50 delayed_update_policy_runner_( |
| 52 base::Bind(&RendererSchedulerImpl::UpdatePolicy, | 51 base::Bind(&RendererSchedulerImpl::UpdatePolicy, |
| 53 base::Unretained(this)), | 52 base::Unretained(this)), |
| 54 helper_.ControlTaskRunner()), | 53 helper_.ControlTaskRunner()), |
| 55 main_thread_only_(compositor_task_runner_, | 54 main_thread_only_(compositor_task_runner_, |
| 56 helper_.scheduler_tqm_delegate().get()), | 55 helper_.scheduler_tqm_delegate().get()), |
| 56 any_thread_(helper_.DefaultTaskRunner()), |
| 57 policy_may_need_update_(&any_thread_lock_), | 57 policy_may_need_update_(&any_thread_lock_), |
| 58 weak_factory_(this) { | 58 weak_factory_(this) { |
| 59 throttling_helper_.reset(new ThrottlingHelper(this, "renderer.scheduler")); | 59 throttling_helper_.reset(new ThrottlingHelper(this, "renderer.scheduler")); |
| 60 update_policy_closure_ = base::Bind(&RendererSchedulerImpl::UpdatePolicy, | 60 update_policy_closure_ = base::Bind(&RendererSchedulerImpl::UpdatePolicy, |
| 61 weak_factory_.GetWeakPtr()); | 61 weak_factory_.GetWeakPtr()); |
| 62 end_renderer_hidden_idle_period_closure_.Reset(base::Bind( | 62 end_renderer_hidden_idle_period_closure_.Reset(base::Bind( |
| 63 &RendererSchedulerImpl::EndIdlePeriod, weak_factory_.GetWeakPtr())); | 63 &RendererSchedulerImpl::EndIdlePeriod, weak_factory_.GetWeakPtr())); |
| 64 | 64 |
| 65 suspend_timers_when_backgrounded_closure_.Reset( | 65 suspend_timers_when_backgrounded_closure_.Reset( |
| 66 base::Bind(&RendererSchedulerImpl::SuspendTimerQueueWhenBackgrounded, | 66 base::Bind(&RendererSchedulerImpl::SuspendTimerQueueWhenBackgrounded, |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 touchstart_expected_soon(false), | 122 touchstart_expected_soon(false), |
| 123 have_seen_a_begin_main_frame(false), | 123 have_seen_a_begin_main_frame(false), |
| 124 have_reported_blocking_intervention_in_current_policy(false), | 124 have_reported_blocking_intervention_in_current_policy(false), |
| 125 have_reported_blocking_intervention_since_navigation(false), | 125 have_reported_blocking_intervention_since_navigation(false), |
| 126 has_visible_render_widget_with_touch_handler(false), | 126 has_visible_render_widget_with_touch_handler(false), |
| 127 begin_frame_not_expected_soon(false), | 127 begin_frame_not_expected_soon(false), |
| 128 expensive_task_blocking_allowed(true) {} | 128 expensive_task_blocking_allowed(true) {} |
| 129 | 129 |
| 130 RendererSchedulerImpl::MainThreadOnly::~MainThreadOnly() {} | 130 RendererSchedulerImpl::MainThreadOnly::~MainThreadOnly() {} |
| 131 | 131 |
| 132 RendererSchedulerImpl::AnyThread::AnyThread() | 132 RendererSchedulerImpl::AnyThread::AnyThread( |
| 133 : awaiting_touch_start_response(false), | 133 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) |
| 134 : user_model(task_runner), |
| 135 awaiting_touch_start_response(false), |
| 134 in_idle_period(false), | 136 in_idle_period(false), |
| 135 begin_main_frame_on_critical_path(false), | 137 begin_main_frame_on_critical_path(false), |
| 136 last_gesture_was_compositor_driven(false), | 138 last_gesture_was_compositor_driven(false), |
| 137 have_seen_touchstart(false) {} | 139 have_seen_touchstart(false) {} |
| 138 | 140 |
| 139 RendererSchedulerImpl::AnyThread::~AnyThread() {} | 141 RendererSchedulerImpl::AnyThread::~AnyThread() {} |
| 140 | 142 |
| 141 RendererSchedulerImpl::CompositorThreadOnly::CompositorThreadOnly() | 143 RendererSchedulerImpl::CompositorThreadOnly::CompositorThreadOnly() |
| 142 : last_input_type(blink::WebInputEvent::Undefined) {} | 144 : last_input_type(blink::WebInputEvent::Undefined) {} |
| 143 | 145 |
| (...skipping 1057 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1201 } | 1203 } |
| 1202 MainThreadOnly().have_reported_blocking_intervention_since_navigation = | 1204 MainThreadOnly().have_reported_blocking_intervention_since_navigation = |
| 1203 true; | 1205 true; |
| 1204 BroadcastConsoleWarning( | 1206 BroadcastConsoleWarning( |
| 1205 "Deferred long-running timer task(s) to improve scrolling smoothness. " | 1207 "Deferred long-running timer task(s) to improve scrolling smoothness. " |
| 1206 "See crbug.com/574343."); | 1208 "See crbug.com/574343."); |
| 1207 } | 1209 } |
| 1208 } | 1210 } |
| 1209 | 1211 |
| 1210 } // namespace scheduler | 1212 } // namespace scheduler |
| OLD | NEW |