Web: Use touch events instead of pointer events for touch #4118
+322
−42
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #4113
This change fixes a bug where multi-touch would not work properly on Firefox mobile. The reason for the discrepancy between Chrome and Firefox is that Firefox only sends pointermove events for one changed touch point, but Chrome sends an event for each of them. This caused a situation where moving two fingers at once in Firefox would only produce pointer events for the finger that moved first.
Tested on all platforms changed
I don't have an iPhone or a tablet to test this on, but I have tested on Chrome and Firefox for Android.
Added an entry to the
changelog
module if knowledge of this change could be valuable to usersThis change does not affect the API, and it should act exactly the same on Chrome as it did previously.
Updated documentation to reflect any user-facing changes, including notes of platform-specific behavior
This is a bug fix, so it is not intended to affect users, but if there is some documentation I should write, I'm willing to do so.
Created or updated an example program if it would help users understand this functionality
I created an example app, but making it a part of the codebase would involve either including
wgpu
as a dependency, or rewriting it to use the canvas2D API.