Граф коммитов

5 Коммитов

Автор SHA1 Сообщение Дата
Markus Stange 0cd35bc56e Bug 1676771 - Add a TouchResampler class. r=kats
This is similar to GeckoTouchDispatcher from the B2G days:
https://hg.mozilla.org/mozilla-central/file/49bbfe7887d5739df62d6b8d05bc41cfe3161f08/widget/gonk/GeckoTouchDispatcher.cpp

The values for the various kTouchResample* constants were taken from the
original pref values:
https://hg.mozilla.org/mozilla-central/file/49bbfe7887d5739df62d6b8d05bc41cfe3161f08/gfx/thebes/gfxPrefs.h#l225

There are some extra sources of complexity:
 - TouchResampler tries hard to generate one outgoing event per incoming event,
   so that the result code tracking to the Java front-end code works properly.
 - TouchResampler tries hard to never lose any historicalData information, so
   that the velocity tracker has a maximum amount of information to work with.
 - TouchResampler has a "reset to non-resampled state" functionality so that
   overpredictions are corrected when the finger pauses or when a touch non-move
   event fires.

Differential Revision: https://phabricator.services.mozilla.com/D96795
2020-11-18 03:57:35 +00:00
Bogdan Tara 2fdb1139bf Backed out 3 changesets (bug 1676771) for TouchResampler.cpp linux debug bustage CLOSED TREE
Backed out changeset c01032316a72 (bug 1676771)
Backed out changeset 45736914b063 (bug 1676771)
Backed out changeset 8700eb46bb8b (bug 1676771)
2020-11-18 04:54:03 +02:00
Markus Stange 231f0ad6be Bug 1676771 - Add a TouchResampler class. r=kats
This is similar to GeckoTouchDispatcher from the B2G days:
https://hg.mozilla.org/mozilla-central/file/49bbfe7887d5739df62d6b8d05bc41cfe3161f08/widget/gonk/GeckoTouchDispatcher.cpp

The values for the various kTouchResample* constants were taken from the
original pref values:
https://hg.mozilla.org/mozilla-central/file/49bbfe7887d5739df62d6b8d05bc41cfe3161f08/gfx/thebes/gfxPrefs.h#l225

There are some extra sources of complexity:
 - TouchResampler tries hard to generate one outgoing event per incoming event,
   so that the result code tracking to the Java front-end code works properly.
 - TouchResampler tries hard to never lose any historicalData information, so
   that the velocity tracker has a maximum amount of information to work with.
 - TouchResampler has a "reset to non-resampled state" functionality so that
   overpredictions are corrected when the finger pauses or when a touch non-move
   event fires.

Differential Revision: https://phabricator.services.mozilla.com/D96795
2020-11-17 20:20:32 +00:00
Bogdan Tara 43d33ea421 Backed out 3 changesets (bug 1676771) for touchevents related failures CLOSED TREE
Backed out changeset 88d4a2ac2cfc (bug 1676771)
Backed out changeset 7aa9b58c7916 (bug 1676771)
Backed out changeset 7f5daf9a6889 (bug 1676771)
2020-11-17 22:15:14 +02:00
Markus Stange 65b5ec33c9 Bug 1676771 - Add a TouchResampler class. r=kats
This is similar to GeckoTouchDispatcher from the B2G days:
https://hg.mozilla.org/mozilla-central/file/49bbfe7887d5739df62d6b8d05bc41cfe3161f08/widget/gonk/GeckoTouchDispatcher.cpp

The values for the various kTouchResample* constants were taken from the
original pref values:
https://hg.mozilla.org/mozilla-central/file/49bbfe7887d5739df62d6b8d05bc41cfe3161f08/gfx/thebes/gfxPrefs.h#l225

There are some extra sources of complexity:
 - TouchResampler tries hard to generate one outgoing event per incoming event,
   so that the result code tracking to the Java front-end code works properly.
 - TouchResampler tries hard to never lose any historicalData information, so
   that the velocity tracker has a maximum amount of information to work with.
 - TouchResampler has a "reset to non-resampled state" functionality so that
   overpredictions are corrected when the finger pauses or when a touch non-move
   event fires.

Differential Revision: https://phabricator.services.mozilla.com/D96795
2020-11-17 17:33:03 +00:00