Bug 1066885 highlighted problems with the way we disable buttons when the camera app is busy. With the current system it is possible to get the camera into incorrect states with very rapid taps on the controls. Because 1066885 is a 2.0 blocker, I assume we will not be able to create and uplift a fully robust fix as part of that bug, so I'm filing this bug as a followup where we can try to fix the underlying issues more thoroughly. For background, see bug 1066885, especially these comments: https://bugzilla.mozilla.org/show_bug.cgi?id=1066885#c20 https://bugzilla.mozilla.org/show_bug.cgi?id=1066885#c24 https://bugzilla.mozilla.org/show_bug.cgi?id=1066885#c25 I recommend that the fix in this bug gets rid of the debounce() module. That just seems like a hack that can't fully prevent timing issues, but makes it hard for us to find and reproduce timing issues. Also, I recommend that the fix be one that allows us to remove the pointer-events:none code, because that leads to things like the bug where we had taps on a disabled button setting the focus region behind the button. A better way to disable the button is to have it still receive a click event but just not process the event when disabled.
See also bug 996114.
See also bug 1063138
I'm happy to do the work to remove our dependency on `debounce` and `pointer-events: none`
I don't have time right now to take this, but I discussed in detail with Justin and Diego a couple of day ago about our favored approach.