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

Side by Side Diff: content/renderer/input/main_thread_event_queue.cc

Issue 2835673002: Disable raf alignment when the compositor doesn't generate begin frames. (Closed)
Patch Set: Fix typo Created 3 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "content/renderer/input/main_thread_event_queue.h" 5 #include "content/renderer/input/main_thread_event_queue.h"
6 6
7 #include "base/metrics/field_trial.h" 7 #include "base/metrics/field_trial.h"
8 #include "base/metrics/histogram_macros.h" 8 #include "base/metrics/histogram_macros.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "content/common/input/event_with_latency_info.h" 10 #include "content/common/input/event_with_latency_info.h"
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 }; 194 };
195 195
196 MainThreadEventQueue::SharedState::SharedState() 196 MainThreadEventQueue::SharedState::SharedState()
197 : sent_main_frame_request_(false), sent_post_task_(false) {} 197 : sent_main_frame_request_(false), sent_post_task_(false) {}
198 198
199 MainThreadEventQueue::SharedState::~SharedState() {} 199 MainThreadEventQueue::SharedState::~SharedState() {}
200 200
201 MainThreadEventQueue::MainThreadEventQueue( 201 MainThreadEventQueue::MainThreadEventQueue(
202 MainThreadEventQueueClient* client, 202 MainThreadEventQueueClient* client,
203 const scoped_refptr<base::SingleThreadTaskRunner>& main_task_runner, 203 const scoped_refptr<base::SingleThreadTaskRunner>& main_task_runner,
204 blink::scheduler::RendererScheduler* renderer_scheduler) 204 blink::scheduler::RendererScheduler* renderer_scheduler,
205 bool allow_raf_aligned_input)
205 : client_(client), 206 : client_(client),
206 last_touch_start_forced_nonblocking_due_to_fling_(false), 207 last_touch_start_forced_nonblocking_due_to_fling_(false),
207 enable_fling_passive_listener_flag_(base::FeatureList::IsEnabled( 208 enable_fling_passive_listener_flag_(base::FeatureList::IsEnabled(
208 features::kPassiveEventListenersDueToFling)), 209 features::kPassiveEventListenersDueToFling)),
209 enable_non_blocking_due_to_main_thread_responsiveness_flag_( 210 enable_non_blocking_due_to_main_thread_responsiveness_flag_(
210 base::FeatureList::IsEnabled( 211 base::FeatureList::IsEnabled(
211 features::kMainThreadBusyScrollIntervention)), 212 features::kMainThreadBusyScrollIntervention)),
212 handle_raf_aligned_touch_input_( 213 handle_raf_aligned_touch_input_(
214 allow_raf_aligned_input &&
213 base::FeatureList::IsEnabled(features::kRafAlignedTouchInputEvents)), 215 base::FeatureList::IsEnabled(features::kRafAlignedTouchInputEvents)),
214 handle_raf_aligned_mouse_input_( 216 handle_raf_aligned_mouse_input_(
217 allow_raf_aligned_input &&
215 base::FeatureList::IsEnabled(features::kRafAlignedMouseInputEvents)), 218 base::FeatureList::IsEnabled(features::kRafAlignedMouseInputEvents)),
216 main_task_runner_(main_task_runner), 219 main_task_runner_(main_task_runner),
217 renderer_scheduler_(renderer_scheduler) { 220 renderer_scheduler_(renderer_scheduler) {
218 if (enable_non_blocking_due_to_main_thread_responsiveness_flag_) { 221 if (enable_non_blocking_due_to_main_thread_responsiveness_flag_) {
219 std::string group = base::FieldTrialList::FindFullName( 222 std::string group = base::FieldTrialList::FindFullName(
220 "MainThreadResponsivenessScrollIntervention"); 223 "MainThreadResponsivenessScrollIntervention");
221 224
222 // The group name will be of the form Enabled$THRESHOLD_MS. Trim the prefix 225 // The group name will be of the form Enabled$THRESHOLD_MS. Trim the prefix
223 // "Enabled", and parse the threshold. 226 // "Enabled", and parse the threshold.
224 int threshold_ms = 0; 227 int threshold_ms = 0;
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 main_task_runner_->PostTask( 543 main_task_runner_->PostTask(
541 FROM_HERE, base::Bind(&MainThreadEventQueue::SetNeedsMainFrame, this)); 544 FROM_HERE, base::Bind(&MainThreadEventQueue::SetNeedsMainFrame, this));
542 } 545 }
543 546
544 void MainThreadEventQueue::ClearClient() { 547 void MainThreadEventQueue::ClearClient() {
545 DCHECK(main_task_runner_->BelongsToCurrentThread()); 548 DCHECK(main_task_runner_->BelongsToCurrentThread());
546 client_ = nullptr; 549 client_ = nullptr;
547 } 550 }
548 551
549 } // namespace content 552 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/input/main_thread_event_queue.h ('k') | content/renderer/input/main_thread_event_queue_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698