Commit Graph

64 Commits

Author SHA1 Message Date
Ryan Hunt
03a67c3376 Bug 1351783 part 12 - Create and sync focus sequence numbers. r=kats,botond,dvander
Focus can change at any moment in a document. This causes non-determinism and
correctness problems for doing keyboard apz scrolling. To get around this, we
will maintain deterministic behavior for focus changes initiated by input events
and see if we can get away with more non-determinism for things like `setTimeout`

In order to do this, we disable async keyboard scrolling when an input event is
processed that could have a event listener. We then attach a sequence number to
that input event and dispatch it to content. In content, we record the highest
sequence number that we have processed from an event, and send that on each focus
update. Using this, we can determine in APZ if we have a current focus target or
if we are still waiting for an input event to be processed and focus to be
reconfirmed.

MozReview-Commit-ID: CWcu8YEFQz4
2017-06-05 19:45:31 -05:00
Ryan Hunt
6aa304d9c7 Bug 1351783 part 2 - Add a KeyboardInput type. r=kats
Every event type handled by APZ needs to have a InputData type. This commit
adds a new KeyboardInput type that stores the minimum fields needed to match
keyboard shortcuts.

MozReview-Commit-ID: 3KUnH4sWrST
2017-06-05 18:09:40 -05:00
Randall Barker
c955f482b1 Bug 1335895 - Android GeckoView Dynamic Toolbar Version 3 r=botond,dvander,jchen,kats
This version of the Dynamic Toolbar moves the animation of the toolbar
from the Android UI thread to the compositor thread. All animation for
showing and hiding the toolbar are done with the compositor and a static
snapshot of the real toolbar.

MozReview-Commit-ID: BCe8zpbkWQt
2017-04-20 15:15:14 -07:00
Kartikaya Gupta
919bc63a4a Bug 1298886 - Convert the PinchGestureInput span fields from float to ParentLayerCoord. r=botond
MozReview-Commit-ID: 1Odp9ml6reK
2016-09-24 09:46:01 -04:00
Kartikaya Gupta
69e508e53a Bug 1304729 - When transitioning from a pinch to a pan, make sure we start the pan with the correct coordinates. r=botond
MozReview-Commit-ID: CC4gPT2jubR
2016-09-22 14:54:01 -04:00
Kartikaya Gupta
aaa10d3a77 Bug 1289432 - Introduce a skeleton QueuedInput class. r=botond
Note that this patch makes the InputData hierarchy polymorphic.

MozReview-Commit-ID: HrZ2KhHeDoy
2016-09-14 07:54:36 -04:00
Kartikaya Gupta
bd194aacd6 Bug 1302093 - Move all the method bodies from InputData.h to InputData.cpp to avoid rebuilding the world for itty-bitty changes. r=mstange
MozReview-Commit-ID: 88zPelaPcRR
2016-09-12 09:47:01 -04:00
Nicolas Silva
3766bcc94a Bug 1284837 - Disallow implicit conversions from float to integer when creating IntPoint and IntSize objects. r=botond 2016-07-26 16:48:30 +02:00
Andi-Bogdan Postelnicu
39f814b141 Bug 1258383 - initialize |mInputSource| with |aMouseEvent.inputSource|. r=kats
MozReview-Commit-ID: GpOQyrAlsr3
2016-03-21 16:47:43 +02:00
Kartikaya Gupta
c8800f6bf8 Bug 1273137 - Add the mHandledByAPZ flag to MouseInput as well. r=rbarker
MozReview-Commit-ID: EGEzIjvHbml
2016-06-07 11:07:55 -04:00
Masayuki Nakano
94e8c148d6 Bug 1259661 part.9 Rename WidgetMouseEvent::clickCount to WidgetMouseEvent::mClickCount r=smaug
MozReview-Commit-ID: 5tC8UqcfLek
2016-05-10 23:29:14 +09:00
Masayuki Nakano
01372509b5 Bug 1259661 part.8 Rename WidgetMouseEvent::ignoreRootScrollFrame to WidgetMouseEvent::mIgnoreRootScrollFrame r=smaug
MozReview-Commit-ID: 98G9UMv4qqj
2016-05-10 21:15:05 +09:00
Kartikaya Gupta
d87c0bfcaa Bug 1269032 - Add support for user multipliers to pan gesture inputs. r=mstange
MozReview-Commit-ID: 91ooLOswm7q
2016-05-03 09:09:10 -04:00
Masayuki Nakano
99eab530eb Bug 1259656 part.1 Rename WidgetEvent::refPoint to WidgetEvent::mRefPoint r=smaug
MozReview-Commit-ID: ESWM5ZyBpSR
2016-04-18 23:09:02 +09:00
Masayuki Nakano
93fc327cc4 Bug 1259668 Rename WidgetTouchEvent::touches to WidgetTouchEvent::mTouches r=smaug
MozReview-Commit-ID: FLbows8davI
2016-03-30 18:44:28 +09:00
Masayuki Nakano
e03653286f Bug 1259664 part.10 Rename WidgetWheelEvent::lineOrPageDeltaY to WidgetWheelEvent::mLineOrPageDeltaY r=smaug
MozReview-Commit-ID: 64lFZosnMbd
2016-04-01 00:10:09 +09:00
Masayuki Nakano
f500b66a38 Bug 1259664 part.9 Rename WidgetWheelEvent::lineOrPageDeltaX to WidgetWheelEvent::mLineOrPageDeltaX r=smaug
MozReview-Commit-ID: 1j8SFp6bME4
2016-04-01 00:10:46 +09:00
Masayuki Nakano
33f5661965 Bug 1259664 part.7 Rename WidgetWheelEvent::isMomentum to WidgetWheelEvent::mIsMomentum r=smaug
MozReview-Commit-ID: CornLj3WkyG
2016-03-31 23:45:55 +09:00
Masayuki Nakano
0b48391115 Bug 1259664 part.6 Rename WidgetWheelEvent::mayHaveMomentum to WidgetWheelEvent::mMayHaveMomentum r=smaug
MozReview-Commit-ID: E6kS0pkOZby
2016-03-31 23:36:49 +09:00
Masayuki Nakano
586a5f0477 Bug 1259664 part.4 Rename WidgetWheelEvent::deltaMode to WidgetWheelEvent::mDeltaMode r=smaug
MozReview-Commit-ID: Ky3xp2NtBWq
2016-03-31 18:35:24 +09:00
Masayuki Nakano
77f5ef2288 Bug 1259664 part.2 Rename WidgetWheelEvent::deltaY to WidgetWheelEvent::mDeltaY r=smaug
MozReview-Commit-ID: 3xscKDblY4V
2016-03-31 18:09:47 +09:00
Masayuki Nakano
759761331e Bug 1259664 part.1 Rename WidgetWheelEvent::deltaX to WidgetWheelEvent::mDeltaX r=smaug
MozReview-Commit-ID: F5dQHpPkWfA
2016-03-31 18:55:59 +09:00
Masayuki Nakano
4d73a7381d Bug 1259658 Rename WidgetInputEvent::modifiers to WidgetInputEvent::mModifiers r=smaug
MozReview-Commit-ID: 7avEiqKfaHA
2016-03-31 17:03:00 +09:00
Arata Furukawa
8db7694bad Bug 1259655 - part 2 Rename WidgetEventTime::timeStamp to WidgetEventTime::mTimeStamp r=masayuki
MozReview-Commit-ID: LRgPxoynx0
2016-03-28 13:49:02 +09:00
Arata Furukawa
a3f2b4162e Bug 1259655 - part 1 Rename WidgetEventTime::time to WidgetEventTime::mTime r=masayuki
MozReview-Commit-ID: 7lBCEVkanvF
2016-03-28 13:29:42 +09:00
Randall Barker
729ac8041f Bug 1251346 - Fennec should not generate touch events from mouse events. r=kats 2016-03-14 16:56:46 -07:00
Randall Barker
d9dff130e1 Bug 1232338 - part 1, Add better mouse support to InputData MouseInput r=kats 2016-03-11 11:03:50 -08:00
Bogdan Postelnicu
3d3c86ac57 Bug 1243359 - initialize mScrollSeriesNumber in all ScrollWheelInput constructors. r=roc 2016-01-28 15:47:28 +02:00
Masayuki Nakano
131b22147a Bug 1153156 part.4 Make APZC system scroll speed overriding aware r=mstange 2016-01-27 15:09:13 +09:00
Kartikaya Gupta
5e648c5fea Bug 1235994 - Add a flag to wheel events to track if they may have momentum following them. r=mstange 2016-01-07 10:39:37 -05:00
Botond Ballo
6d77a56654 Bug 1069417 - Remove the explicit template argument of TransformTo() and related functions. r=kats
In this process, TransformTo() and UntransformTo() are renamed TransformedBy()
and UntransformBy() so calls to them continue to read sensibly.
2015-11-30 20:06:45 -05:00
Botond Ballo
85af71a0e4 Bug 1069417 - Modify TransformTo() and related functions to use typed matrices. r=kats
Call sites (all in APZ and related code) were modified accordingly. Some of
these modifications involved changing some matrices stored in APZ to be typed.
2015-11-30 20:14:31 -05:00
David Anderson
1f81547632 Add page scroll support for APZ wheel events. (bug 1228028, r=kats) 2015-12-02 17:05:11 -08:00
David Anderson
755d043f90 Add APZ support for mousewheel delta multiplier prefs. (bug 1214170 part 2, r=kats) 2015-12-01 13:46:07 -08:00
Randall Barker
23bd38d9b8 Bug 1223946 - Part 1: Clean up and support needed for converting WidgetWheelEvent to ScrollWheelInput. r=kats 2015-11-18 19:32:37 -05:00
Nicholas Nethercote
328ed06554 Bug 1222943 (part 1) - Change Touch::mRadius from nsIntPoint to LayoutDeviceIntPoint. r=kats.
This adds a three missing unit conversions for touch radii.
2015-11-09 21:37:31 -08:00
Kartikaya Gupta
60911db663 Bug 1217818 - Add support for the mHandledByAPZ flag on touch events as well. r=botond 2015-10-28 12:53:34 -04:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Benoit Girard
5c72beeeab Bug 1199885 - Part 9: Let APZC handle the drag events. r=kats 2015-09-28 14:44:37 -04:00
Benoit Girard
e36a176538 Bug 1199885 - Part 1: Add MouseInput InputData. r=kats 2015-09-28 10:32:05 -04:00
Masayuki Nakano
0eb5af44b6 Bug 895274 part.244 Rename NS_TOUCH_CANCEL to eTouchCancel r=smaug 2015-09-15 00:14:35 +09:00
Masayuki Nakano
c52e0f004e Bug 895274 part.243 Rename NS_TOUCH_END to eTouchEnd r=smaug 2015-09-15 00:14:35 +09:00
Masayuki Nakano
c9e937321c Bug 895274 part.242 Rename NS_TOUCH_MOVE to eTouchMove r=smaug 2015-09-15 00:14:35 +09:00
Masayuki Nakano
27a41ba675 Bug 895274 part.241 Rename NS_TOUCH_START to eTouchStart r=smaug 2015-09-15 00:14:34 +09:00
Masayuki Nakano
417d87fd39 Bug 895274 part.184 Rename NS_WHEEL_WHEEL to eWheel r=smaug 2015-09-11 01:59:54 +09:00
Masayuki Nakano
6e195d9286 Bug 895274 part.29 Rename NS_MOUSE_EXIT_WIDGET to eMouseExitFromWidget r=smaug 2015-08-29 08:58:31 +09:00
Masayuki Nakano
5efe61139d Bug 895274 part.27 Rename NS_MOUSE_BUTTON_DOWN to eMouseDown r=smaug 2015-08-29 08:58:30 +09:00
Masayuki Nakano
00ded62efd Bug 895274 part.26 Rename NS_MOUSE_BUTTON_UP to eMouseUp r=smaug 2015-08-29 08:58:30 +09:00
Masayuki Nakano
329427650a Bug 895274 part.25 Rename NS_MOUSE_MOVE to eMouseMove r=smaug 2015-08-29 08:58:29 +09:00
Masayuki Nakano
374fcf2d55 Bug 895274 part.5 Rename NS_EVENT_NULL to eVoidEvent r=smaug 2015-08-29 08:58:26 +09:00