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

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: Do not register action callback in single process. Created 4 years, 8 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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
OLDNEW
« no previous file with comments | « components/scheduler/renderer/renderer_scheduler_impl.h ('k') | components/scheduler/renderer/user_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698