| 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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 touchstart_expected_soon(false), | 123 touchstart_expected_soon(false), |
| 124 have_seen_a_begin_main_frame(false), | 124 have_seen_a_begin_main_frame(false), |
| 125 have_reported_blocking_intervention_in_current_policy(false), | 125 have_reported_blocking_intervention_in_current_policy(false), |
| 126 have_reported_blocking_intervention_since_navigation(false), | 126 have_reported_blocking_intervention_since_navigation(false), |
| 127 has_visible_render_widget_with_touch_handler(false), | 127 has_visible_render_widget_with_touch_handler(false), |
| 128 begin_frame_not_expected_soon(false), | 128 begin_frame_not_expected_soon(false), |
| 129 expensive_task_blocking_allowed(true) {} | 129 expensive_task_blocking_allowed(true) {} |
| 130 | 130 |
| 131 RendererSchedulerImpl::MainThreadOnly::~MainThreadOnly() {} | 131 RendererSchedulerImpl::MainThreadOnly::~MainThreadOnly() {} |
| 132 | 132 |
| 133 RendererSchedulerImpl::AnyThread::AnyThread() | 133 RendererSchedulerImpl::AnyThread::AnyThread( |
| 134 : awaiting_touch_start_response(false), | 134 scoped_refptr<base::SingleThreadTaskRunner> default_task_runner) |
| 135 : user_model(default_task_runner), |
| 136 awaiting_touch_start_response(false), |
| 135 in_idle_period(false), | 137 in_idle_period(false), |
| 136 begin_main_frame_on_critical_path(false), | 138 begin_main_frame_on_critical_path(false), |
| 137 last_gesture_was_compositor_driven(false), | 139 last_gesture_was_compositor_driven(false), |
| 138 have_seen_touchstart(false) {} | 140 have_seen_touchstart(false) {} |
| 139 | 141 |
| 140 RendererSchedulerImpl::AnyThread::~AnyThread() {} | 142 RendererSchedulerImpl::AnyThread::~AnyThread() {} |
| 141 | 143 |
| 142 RendererSchedulerImpl::CompositorThreadOnly::CompositorThreadOnly() | 144 RendererSchedulerImpl::CompositorThreadOnly::CompositorThreadOnly() |
| 143 : last_input_type(blink::WebInputEvent::Undefined) {} | 145 : last_input_type(blink::WebInputEvent::Undefined) {} |
| 144 | 146 |
| (...skipping 1078 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1223 } | 1225 } |
| 1224 MainThreadOnly().have_reported_blocking_intervention_since_navigation = | 1226 MainThreadOnly().have_reported_blocking_intervention_since_navigation = |
| 1225 true; | 1227 true; |
| 1226 BroadcastConsoleWarning( | 1228 BroadcastConsoleWarning( |
| 1227 "Deferred long-running timer task(s) to improve scrolling smoothness. " | 1229 "Deferred long-running timer task(s) to improve scrolling smoothness. " |
| 1228 "See crbug.com/574343."); | 1230 "See crbug.com/574343."); |
| 1229 } | 1231 } |
| 1230 } | 1232 } |
| 1231 | 1233 |
| 1232 } // namespace scheduler | 1234 } // namespace scheduler |
| OLD | NEW |