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

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

Issue 1683583002: Report user actions when gesture starts and stops in user_model. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 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 "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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698