Update WebXR inputsourceschanged event type and ordering
This adds the XRInputSourcesChangeEvent type and updates the code to fire an event of that type rather than of the XRSessionEvent type, this requires tracking added/removed input sources when processing updates. This change also guarantees updates the ordering of inputsourceschange events and select events, particularly for sub-frame selects or when an input source shows up with it's primary input already pressed. The required ordering for a transient clicked input source (e.g. voice select) is: 1) inputsourceschange (with the new source in added) 2) selectstart 3) select 4) selectend 5) inputsourceschange (with the new source removed) This change also adds relevant tests for these two scenarios. Bug: 963011,962745 Change-Id: Idcdeee69a4bbfad344151026f9b468a48b93097a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1614693 Commit-Queue: Alexander Cooper <alcooper@chromium.org> Reviewed-by:Nate Chapin <japhet@chromium.org> Reviewed-by:
Brian Sheedy <bsheedy@chromium.org> Reviewed-by:
Klaus Weidner <klausw@chromium.org> Reviewed-by:
Daniel Cheng <dcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#660627}
Showing
Please register or sign in to comment