[Camera] improve the way we disable user input when the camera is busy

NEW
Unassigned

Status

Firefox OS
Gaia::Camera
3 years ago
3 years ago

People

(Reporter: djf, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

3 years ago
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.
(Reporter)

Comment 1

3 years ago
See also bug 996114.
(Reporter)

Comment 2

3 years ago
See also bug 1063138
I'm happy to do the work to remove our dependency on `debounce` and `pointer-events: none`
Assignee: nobody → wilsonpage
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.
Assignee: wilsonpage → nobody
You need to log in before you can comment on or make changes to this bug.