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

Side by Side Diff: third_party/WebKit/public/platform/WebInputEvent.h

Issue 2233543002: Make first TouchStart and first TouchMove events on a flinging layer non-blocking (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: set non_blocking to true Created 4 years, 4 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 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 // so the values can be cast between the enumerations. static_asserts 195 // so the values can be cast between the enumerations. static_asserts
196 // checking this are in web/WebInputEventConversion.cpp. 196 // checking this are in web/WebInputEventConversion.cpp.
197 enum DispatchType { 197 enum DispatchType {
198 // Event can be canceled. 198 // Event can be canceled.
199 Blocking, 199 Blocking,
200 // Event can not be canceled. 200 // Event can not be canceled.
201 EventNonBlocking, 201 EventNonBlocking,
202 // All listeners are passive; not cancelable. 202 // All listeners are passive; not cancelable.
203 ListenersNonBlockingPassive, 203 ListenersNonBlockingPassive,
204 // This value represents a state which would have normally blocking 204 // This value represents a state which would have normally blocking
205 // but was forced to be non-blocking; not cancelable. 205 // but was forced to be non-blocking during fling; not cancelable.
206 ListenersForcedNonBlockingPassive, 206 ListenersForcedNonBlockingPassiveDueToFling,
207 }; 207 };
208 208
209 // The rail mode for a wheel event specifies the axis on which scrolling is 209 // The rail mode for a wheel event specifies the axis on which scrolling is
210 // expected to stick. If this axis is set to Free, then scrolling is not 210 // expected to stick. If this axis is set to Free, then scrolling is not
211 // stuck to any axis. 211 // stuck to any axis.
212 enum RailsMode { 212 enum RailsMode {
213 RailsModeFree = 0, 213 RailsModeFree = 0,
214 RailsModeHorizontal = 1, 214 RailsModeHorizontal = 1,
215 RailsModeVertical = 2, 215 RailsModeVertical = 2,
216 }; 216 };
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after
636 636
637 // For a single touch, this is true after the touch-point has moved beyond 637 // For a single touch, this is true after the touch-point has moved beyond
638 // the platform slop region. For a multitouch, this is true after any 638 // the platform slop region. For a multitouch, this is true after any
639 // touch-point has moved (by whatever amount). 639 // touch-point has moved (by whatever amount).
640 bool movedBeyondSlopRegion; 640 bool movedBeyondSlopRegion;
641 641
642 // Whether there was an active fling animation when the event was 642 // Whether there was an active fling animation when the event was
643 // dispatched. 643 // dispatched.
644 bool dispatchedDuringFling; 644 bool dispatchedDuringFling;
645 645
646 // Whether this touch event is a touchstart or a first touchmove event per s croll.
647 bool touchStartOrFirstTouchMove;
648
646 // A unique identifier for the touch event. Valid ids start at one and 649 // A unique identifier for the touch event. Valid ids start at one and
647 // increase monotonically. Zero means an unknown id. 650 // increase monotonically. Zero means an unknown id.
648 uint32_t uniqueTouchEventId; 651 uint32_t uniqueTouchEventId;
649 652
650 WebTouchEvent() 653 WebTouchEvent()
651 : WebInputEvent(sizeof(WebTouchEvent)) 654 : WebInputEvent(sizeof(WebTouchEvent))
652 , touchesLength(0) 655 , touchesLength(0)
653 , dispatchType(Blocking) 656 , dispatchType(Blocking)
654 , movedBeyondSlopRegion(false) 657 , movedBeyondSlopRegion(false)
655 , dispatchedDuringFling(false) 658 , dispatchedDuringFling(false)
659 , touchStartOrFirstTouchMove(false)
656 , uniqueTouchEventId(0) 660 , uniqueTouchEventId(0)
657 { 661 {
658 } 662 }
659 }; 663 };
660 664
661 #pragma pack(pop) 665 #pragma pack(pop)
662 666
663 } // namespace blink 667 } // namespace blink
664 668
665 #endif 669 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698