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

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

Issue 2429953002: Implement compositor thread VSync aligned event queue (Closed)
Patch Set: dtapuska&enne's review: Call |Now()| once per loop; Chromium style; Remove parameterized test Created 4 years, 1 month 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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <new> 7 #include <new>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 EXPECT_EQ(2u, handled_events_.size()); 155 EXPECT_EQ(2u, handled_events_.size());
156 156
157 { 157 {
158 EXPECT_EQ(kEvents[0].size, handled_events_.at(0)->size); 158 EXPECT_EQ(kEvents[0].size, handled_events_.at(0)->size);
159 EXPECT_EQ(kEvents[0].type, handled_events_.at(0)->type); 159 EXPECT_EQ(kEvents[0].type, handled_events_.at(0)->type);
160 const WebMouseWheelEvent* last_wheel_event = 160 const WebMouseWheelEvent* last_wheel_event =
161 static_cast<const WebMouseWheelEvent*>(handled_events_.at(0).get()); 161 static_cast<const WebMouseWheelEvent*>(handled_events_.at(0).get());
162 EXPECT_EQ(WebInputEvent::DispatchType::ListenersNonBlockingPassive, 162 EXPECT_EQ(WebInputEvent::DispatchType::ListenersNonBlockingPassive,
163 last_wheel_event->dispatchType); 163 last_wheel_event->dispatchType);
164 WebMouseWheelEvent coalesced_event = kEvents[0]; 164 WebMouseWheelEvent coalesced_event = kEvents[0];
165 internal::Coalesce(kEvents[1], &coalesced_event); 165 ui::Coalesce(kEvents[1], &coalesced_event);
166 coalesced_event.dispatchType = 166 coalesced_event.dispatchType =
167 WebInputEvent::DispatchType::ListenersNonBlockingPassive; 167 WebInputEvent::DispatchType::ListenersNonBlockingPassive;
168 EXPECT_EQ(coalesced_event, *last_wheel_event); 168 EXPECT_EQ(coalesced_event, *last_wheel_event);
169 } 169 }
170 170
171 { 171 {
172 const WebMouseWheelEvent* last_wheel_event = 172 const WebMouseWheelEvent* last_wheel_event =
173 static_cast<const WebMouseWheelEvent*>(handled_events_.at(1).get()); 173 static_cast<const WebMouseWheelEvent*>(handled_events_.at(1).get());
174 WebMouseWheelEvent coalesced_event = kEvents[2]; 174 WebMouseWheelEvent coalesced_event = kEvents[2];
175 internal::Coalesce(kEvents[3], &coalesced_event); 175 ui::Coalesce(kEvents[3], &coalesced_event);
176 coalesced_event.dispatchType = 176 coalesced_event.dispatchType =
177 WebInputEvent::DispatchType::ListenersNonBlockingPassive; 177 WebInputEvent::DispatchType::ListenersNonBlockingPassive;
178 EXPECT_EQ(coalesced_event, *last_wheel_event); 178 EXPECT_EQ(coalesced_event, *last_wheel_event);
179 } 179 }
180 histogram_tester.ExpectUniqueSample(kCoalescedCountHistogram, 1, 2); 180 histogram_tester.ExpectUniqueSample(kCoalescedCountHistogram, 1, 2);
181 } 181 }
182 182
183 TEST_P(MainThreadEventQueueTest, NonBlockingTouch) { 183 TEST_P(MainThreadEventQueueTest, NonBlockingTouch) {
184 base::HistogramTester histogram_tester; 184 base::HistogramTester histogram_tester;
185 185
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 static_cast<const WebTouchEvent*>(handled_events_.at(1).get()); 217 static_cast<const WebTouchEvent*>(handled_events_.at(1).get());
218 kEvents[1].dispatchType = 218 kEvents[1].dispatchType =
219 WebInputEvent::DispatchType::ListenersNonBlockingPassive; 219 WebInputEvent::DispatchType::ListenersNonBlockingPassive;
220 EXPECT_EQ(kEvents[1], *last_touch_event); 220 EXPECT_EQ(kEvents[1], *last_touch_event);
221 221
222 EXPECT_EQ(kEvents[2].size, handled_events_.at(1)->size); 222 EXPECT_EQ(kEvents[2].size, handled_events_.at(1)->size);
223 EXPECT_EQ(kEvents[2].type, handled_events_.at(2)->type); 223 EXPECT_EQ(kEvents[2].type, handled_events_.at(2)->type);
224 last_touch_event = 224 last_touch_event =
225 static_cast<const WebTouchEvent*>(handled_events_.at(2).get()); 225 static_cast<const WebTouchEvent*>(handled_events_.at(2).get());
226 WebTouchEvent coalesced_event = kEvents[2]; 226 WebTouchEvent coalesced_event = kEvents[2];
227 internal::Coalesce(kEvents[3], &coalesced_event); 227 ui::Coalesce(kEvents[3], &coalesced_event);
228 coalesced_event.dispatchType = 228 coalesced_event.dispatchType =
229 WebInputEvent::DispatchType::ListenersNonBlockingPassive; 229 WebInputEvent::DispatchType::ListenersNonBlockingPassive;
230 EXPECT_EQ(coalesced_event, *last_touch_event); 230 EXPECT_EQ(coalesced_event, *last_touch_event);
231 histogram_tester.ExpectBucketCount(kCoalescedCountHistogram, 0, 1); 231 histogram_tester.ExpectBucketCount(kCoalescedCountHistogram, 0, 1);
232 histogram_tester.ExpectBucketCount(kCoalescedCountHistogram, 1, 1); 232 histogram_tester.ExpectBucketCount(kCoalescedCountHistogram, 1, 1);
233 } 233 }
234 234
235 TEST_P(MainThreadEventQueueTest, BlockingTouch) { 235 TEST_P(MainThreadEventQueueTest, BlockingTouch) {
236 base::HistogramTester histogram_tester; 236 base::HistogramTester histogram_tester;
237 SyntheticWebTouchEvent kEvents[4]; 237 SyntheticWebTouchEvent kEvents[4];
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 EXPECT_EQ(0u, event_queue().size()); 296 EXPECT_EQ(0u, event_queue().size());
297 EXPECT_EQ(2u, handled_events_.size()); 297 EXPECT_EQ(2u, handled_events_.size());
298 { 298 {
299 EXPECT_EQ(kWheelEvents[0].size, handled_events_.at(0)->size); 299 EXPECT_EQ(kWheelEvents[0].size, handled_events_.at(0)->size);
300 EXPECT_EQ(kWheelEvents[0].type, handled_events_.at(0)->type); 300 EXPECT_EQ(kWheelEvents[0].type, handled_events_.at(0)->type);
301 const WebMouseWheelEvent* last_wheel_event = 301 const WebMouseWheelEvent* last_wheel_event =
302 static_cast<const WebMouseWheelEvent*>(handled_events_.at(0).get()); 302 static_cast<const WebMouseWheelEvent*>(handled_events_.at(0).get());
303 EXPECT_EQ(WebInputEvent::DispatchType::ListenersNonBlockingPassive, 303 EXPECT_EQ(WebInputEvent::DispatchType::ListenersNonBlockingPassive,
304 last_wheel_event->dispatchType); 304 last_wheel_event->dispatchType);
305 WebMouseWheelEvent coalesced_event = kWheelEvents[0]; 305 WebMouseWheelEvent coalesced_event = kWheelEvents[0];
306 internal::Coalesce(kWheelEvents[1], &coalesced_event); 306 ui::Coalesce(kWheelEvents[1], &coalesced_event);
307 coalesced_event.dispatchType = 307 coalesced_event.dispatchType =
308 WebInputEvent::DispatchType::ListenersNonBlockingPassive; 308 WebInputEvent::DispatchType::ListenersNonBlockingPassive;
309 EXPECT_EQ(coalesced_event, *last_wheel_event); 309 EXPECT_EQ(coalesced_event, *last_wheel_event);
310 } 310 }
311 { 311 {
312 EXPECT_EQ(kTouchEvents[0].size, handled_events_.at(1)->size); 312 EXPECT_EQ(kTouchEvents[0].size, handled_events_.at(1)->size);
313 EXPECT_EQ(kTouchEvents[0].type, handled_events_.at(1)->type); 313 EXPECT_EQ(kTouchEvents[0].type, handled_events_.at(1)->type);
314 const WebTouchEvent* last_touch_event = 314 const WebTouchEvent* last_touch_event =
315 static_cast<const WebTouchEvent*>(handled_events_.at(1).get()); 315 static_cast<const WebTouchEvent*>(handled_events_.at(1).get());
316 WebTouchEvent coalesced_event = kTouchEvents[0]; 316 WebTouchEvent coalesced_event = kTouchEvents[0];
317 internal::Coalesce(kTouchEvents[1], &coalesced_event); 317 ui::Coalesce(kTouchEvents[1], &coalesced_event);
318 coalesced_event.dispatchType = 318 coalesced_event.dispatchType =
319 WebInputEvent::DispatchType::ListenersNonBlockingPassive; 319 WebInputEvent::DispatchType::ListenersNonBlockingPassive;
320 EXPECT_EQ(coalesced_event, *last_touch_event); 320 EXPECT_EQ(coalesced_event, *last_touch_event);
321 } 321 }
322 } 322 }
323 323
324 TEST_P(MainThreadEventQueueTest, RafAlignedMouseInput) { 324 TEST_P(MainThreadEventQueueTest, RafAlignedMouseInput) {
325 // Don't run the test when we aren't supporting rAF aligned input. 325 // Don't run the test when we aren't supporting rAF aligned input.
326 if ((raf_aligned_input_setting_ & kRafAlignedEnabledMouse) == 0) 326 if ((raf_aligned_input_setting_ & kRafAlignedEnabledMouse) == 0)
327 return; 327 return;
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 559
560 // The boolean parameterized test varies whether rAF aligned input 560 // The boolean parameterized test varies whether rAF aligned input
561 // is enabled or not. 561 // is enabled or not.
562 INSTANTIATE_TEST_CASE_P( 562 INSTANTIATE_TEST_CASE_P(
563 MainThreadEventQueueTests, 563 MainThreadEventQueueTests,
564 MainThreadEventQueueTest, 564 MainThreadEventQueueTest,
565 testing::Range(0u, 565 testing::Range(0u,
566 (kRafAlignedEnabledTouch | kRafAlignedEnabledMouse) + 1)); 566 (kRafAlignedEnabledTouch | kRafAlignedEnabledMouse) + 1));
567 567
568 } // namespace content 568 } // namespace content
OLDNEW
« no previous file with comments | « content/common/input/event_with_latency_info.cc ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698