Avoid recursion in Alt check on Firefox

The Firefox workaround which checks for missing Alt key events may
synthesise new KeyboardEvents. On these events, checkAlt should not be
recursively triggered. Otherwise, we get "too much recursion" errors
whenever the Alt key is pressed.
This commit is contained in:
Jesper Alf Dam 2019-08-16 14:27:12 +02:00
parent e1d50c8c10
commit e9f489a629
1 changed files with 4 additions and 0 deletions

View File

@ -301,6 +301,9 @@ export default class Keyboard {
// Firefox Alt workaround, see below
_checkAlt(e) {
if (e.skipCheckAlt) {
return;
}
if (e.altKey) {
return;
}
@ -315,6 +318,7 @@ export default class Keyboard {
const event = new KeyboardEvent('keyup',
{ key: downList[code],
code: code });
event.skipCheckAlt = true;
target.dispatchEvent(event);
});
}