Commit Graph

75 Commits

Author SHA1 Message Date
Botond Ballo
d7e42dde76 Bug 1377020 - Use MOZ_DEFINE_ENUM instead of a sentinel enumerator for enumerations in gfx/layers. r=kats
MozReview-Commit-ID: IUQDb0VIAwQ
2017-06-30 21:18:55 -04:00
Ryan Hunt
88201894ee Bug 1351783 part 15 - Hook up APZC for scrolling based on a KeyboardScrollAction. r=kats,botond
This commit adds code for keyboard scroll animations and computing the delta
needed for a keyboard scroll action. Keyboard scrolling behavior is more complex
with scroll snapping, so we don't support async keyboard scrolling when we have
scroll snap points.

MozReview-Commit-ID: 97CpprCBp2A
2017-06-06 04:47:10 -05:00
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
1a62c7772f Bug 1302736 - Fire click events with a clickCount of 2 when the user does a double-tap gesture with double taps not allowed. r=botond
MozReview-Commit-ID: 5qxHMoHXDXh
2016-09-29 10:05:25 -04: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
Ryan Hunt
af7a5e4a49 Bug 1281575 - Create IPDL protocol implementation of IAPZCTreeManager. r=kats
MozReview-Commit-ID: BEgcbidyLjm
2016-07-20 13:37:00 +02:00
Carsten "Tomcat" Book
be999565a9 Backed out changeset b95ebdb96050 (bug 1281575) 2016-07-21 06:26:47 +02:00
Ryan Hunt
2b9e1b0ba6 Bug 1281575 - Create IPDL protocol implementation of IAPZCTreeManager. r=kats 2016-07-20 13:37:00 +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
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
Botond Ballo
0b3df83425 Bug 1259296 - Scroll snap in the compositor in response to wheel events. r=kats
MozReview-Commit-ID: 9fOlssstgvR
2016-04-04 17:43:21 -04:00
Markus Stange
d65e5e3412 Bug 1254275 - Inspect the event queue to find out whether momentum events are following. r=kats
MozReview-Commit-ID: 6k3SaJ6X7Mr
2016-03-28 14:56:28 -04: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
Kartikaya Gupta
8dca581490 Bug 1247677 - Add support for the general.smoothScroll.{pages,pixels} prefs in APZ. r=dvander
MozReview-Commit-ID: HCOqbRZV5ui
2016-02-12 08:30:16 -05: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
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
Botond Ballo
5458631b3c Bug 1069417 - Generalize Matrix4x4 into Matrix4x4Typed<SourceUnits, TargetUnits>. r=Bas
Matrix4x4 remains a typedef for Matrix4x4Typed<UnknownUnits, UnknownUnits>.

No client code needed changing, except for forward-declarations of Matrix4x4
as a class (since it's now a typedef).
2015-12-02 18:52:00 -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
David Anderson
c4dc53e0af Add APZ support for mousewheel.acceleration prefs. (bug 1214170 part 1, r=kats) 2015-12-01 13:45:49 -08:00
Nigel Babu
fefa5a8a8f Backed out changeset ebb6fb453cca (bug 1214170) for build bustage on a CLOSED TREE 2015-11-25 16:22:16 +05:30
David Anderson
808895fcb4 Add APZ support for mousewheel.acceleration prefs. (bug 1214170, r=kats) 2015-11-25 01:12:33 -08:00
Dmitry Rozhkov
de059e8fa3 Bug 962243 - Implement PINCH to TOUCHING transition in APZC. r=botond 2015-11-22 08:57:45 -05: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
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
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
Markus Stange
9a2b9be0ed Bug 1016035 - Don't wait for content to say that we need to swipe if APZ has enough information. r=kats 2015-08-28 16:50:00 -04:00
Markus Stange
54cb4b7655 Bug 1016035 - Delay the processing of a PanGestureInput block until we know whether it's a swipe. r=kats 2015-08-12 00:11:54 -04:00
Markus Stange
e0c4b01938 Bug 1193062 - Add mHandledByAPZ on PanGestureInput and ScrollWheelInput, and sync the information to the WidgetWheelEvent. r=kats 2015-08-11 18:04:55 -04:00
Markus Stange
7aadbcf7ef Bug 1193062 - Process pan gesture deltas in begin+end events. r=kats
We don't want to split native NSEvents into two PanGestureInput events.
2015-08-11 15:57:47 -04:00
Markus Stange
8d5d9941b3 Bug 1193062 - Make OverscrollHandoffChain::FindFirstScrollable and AsyncPanZoomController::CanScroll able to deal with PanGestureInput events. r=kats 2015-08-26 11:14:33 -04:00
Markus Stange
9ed3cf6bab Bug 1193062 - Add fields to PanGestureInput and ScrollWheelInput. r=kats
We are going to create WidgetWheelEvents from them and need more information than what they currently have.
2015-08-25 23:21:41 -04:00
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Kevin Wern
4c67458e3b Bug 1120683 - Properly handle unapplying 3D projective transforms throughout APZ code. r=botond
Whenever the inverse of a 3D projective transform is applied to a point, only use the result if it has a positive w-coordinate.

When transforming by a matrix that we know should be 2D, assert to that effect.

Transformations of rectangles (as opposed to points) remain to be audited.
2015-07-03 15:06:26 -04:00
Markus Stange
4bbc95f74b Bug 1148868 - Make APZ wheel handling handle pixel scrolling on OS X. r=dvander, r=kats 2015-04-13 15:45:37 -04:00
Kartikaya Gupta
b9f5c94cfd Bug 1143618 - Follow-up to fix static analysis build bustage. r=me on a CLOSED TREE 2015-03-25 12:41:50 -04:00
Maksim Lebedev
074111767e Bug 1143618 - Change Window::OnTouch implementation to use MultiTouchInput class. r=kats 2015-03-25 12:20:20 -04:00
Nicholas Nethercote
0247de46d8 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo. 2015-02-09 14:34:50 -08:00
Andrew McCreight
e048a7df33 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote
40ab0270d5 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo. 2015-02-04 20:05:36 -08:00
Kartikaya Gupta
2251894167 Bug 1121353 - Implement SynthesizeNativeTouchPoint in the gonk widget to allow injecting touch events into APZ. r=mwu 2015-01-20 00:38:00 +01:00
Kartikaya Gupta
b030121823 Bug 1117712 - Refactor some code to transform input events. r=botond 2015-01-09 13:39:08 -05:00