Commit Graph

86 Commits

Author SHA1 Message Date
Botond Ballo
16a2f0a9d4 Bug 1458063 - Support constructing a PinchGestureInput with a focus point in Screen coordinates. r=kats
MozReview-Commit-ID: 9umkUEEWyBQ
2018-05-02 16:41:47 -04:00
Botond Ballo
3ab43b2e9e Bug 1458063 - Give a name to the special (-1,-1) value of a pinch gesture event's focus point. r=kats
MozReview-Commit-ID: AtitjK2eCGa
2018-05-02 16:36:17 -04:00
Botond Ballo
c9e4bab5d4 Bug 1458063 - Propagate the APZWheelAction to APZCTreeManager. r=kats
MozReview-Commit-ID: Kpr7NGLV7J5
2018-05-02 12:57:23 -04:00
Zhang Junzhi
4e076672d1 Bug 1358017 - Part 4: Implements the auto-dir scrolling feature(without the "honour root" functionality) in APZ r=kats
This commit implements the auto-dir scrolling functionality in APZ, based on
part 1 to part 3. However, the functionality of mousewheel.autodir.honourroot
will be implemented in a future.

MozReview-Commit-ID: 9xai99x71gh
2018-03-16 19:23:53 +08:00
Zhang Junzhi
2011c13d89 Bug 1358017 - Part 1: Adds some comments, renames some identifiers and refactors some other trivial things. r=kats,masayuki
Do some work in preparation for implementing actual functionalities for this
bug. No actual functionality change is involved in this commit.

MozReview-Commit-ID: 5aLhr38n1N4
2018-03-15 16:31:07 +08:00
Boris Zbarsky
29226b0510 Bug 1446851. Get rid of nsIDOMWheelEvent. r=qdot
We can't include WheelEventBinding.h in MouseEvents.h because that produces
this include loop:

WheelEventBinding.h -> MouseEventBinding.h -> UIEventBinding.h ->
nsGlobalWindow.h -> nsGlobalWindowInner.h -> nsRefreshDriver.h ->
AnimationEventDispatcher.h -> AnimationComparator.h -> Animation.h ->
EffectCompositor.h -> PseudoElementHashEntry.h -> Element.h ->
PointerEventHandler.h -> MouseEvents.h -> WheelEventBinding.h

MozReview-Commit-ID: 5KNwH69aJYW
2018-03-20 00:16:05 -04:00
Kartikaya Gupta
4d12b82041 Bug 1441324 - Move the input event messages from PAPZCTreeManager to PAPZInputBridge. r=froydnj,rhunt
This remotes the APZInputBridge interface over the PAPZInputBridge
protocol in the case of the GPU process, and makes the GPU process'
main thread act as the APZ controller thread in that process. If
there is no GPU process we continue as before and the APZInputBridge
interface implementation is the concrete APZCTreeManager instance
in the UI process.

The main changes in this patch are moving all the code associated with
these messages out of APZCTreeManager{Parent,Child} and into
APZInputBridge{Parent,Child}. APZCTreeManagerChild now returns an
APZInputBridgeChild instance via InputBridge(), instead of returning
itself. The SetControllerThread call in the GPU process is also updated.

MozReview-Commit-ID: M4AaIW1Q0h
2018-03-16 16:28:19 -04:00
Kartikaya Gupta
fff4f4de6b Bug 1419834 - Add hit-testing results for MozMouseHittest events to APZTestData. r=botond,mrbkap
This allows us to fire MozMouseHittest events from tests and then read
the hittest result from the compositor APZTestData. The MozMouseHittest
event was chosen in particular because the existing uses of it are
similar in nature - it is a dummy event that is used to determine what
elements a particular coordinate targets. It is also an event that is
never generated by the OS and so using this event gives us more control
over what ends up in the APZTestData.

MozReview-Commit-ID: KHjIX7EpK2A
2017-11-29 23:16:26 -05:00
Botond Ballo
3f81b77b00 Bug 951793 - Obey overscroll-behavior for swipe navigation. r=mstange
MozReview-Commit-ID: i2BuiAfG71
2017-11-25 01:29:15 +01:00
Sebastian Hengst
df2429a1ad Backed out 15 changesets (bug 951793) because it landed before the necessary servo changes. r=backout requested by emilio on a CLOSED TREE
Backed out changeset ca8c86e229df (bug 951793)
Backed out changeset 6eef6403fa71 (bug 951793)
Backed out changeset a5e529f52fb1 (bug 951793)
Backed out changeset 054e837609d0 (bug 951793)
Backed out changeset 713a3c9617ce (bug 951793)
Backed out changeset 884913aa1668 (bug 951793)
Backed out changeset c3340b84e534 (bug 951793)
Backed out changeset 50fe3c6ac486 (bug 951793)
Backed out changeset be4e22e5c257 (bug 951793)
Backed out changeset 7055bd5dfc4e (bug 951793)
Backed out changeset fa6da1e723cf (bug 951793)
Backed out changeset 386f77004d89 (bug 951793)
Backed out changeset fa82cdc01408 (bug 951793)
Backed out changeset 867d8ea5355c (bug 951793)
Backed out changeset e61ac8e48971 (bug 951793)
2017-11-25 01:01:41 +02:00
Botond Ballo
c727f2c1bb Bug 951793 - Obey overscroll-behavior for swipe navigation. r=mstange
MozReview-Commit-ID: i2BuiAfG71
2017-10-23 18:27:24 -04:00
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