| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |