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

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

Powered by Google App Engine
This is Rietveld 408576698