This repository has been archived by the owner on Sep 6, 2021. It is now read-only.
Handle keyboard events for nested dialogs properly #3522
Closed
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.
Instead of attaching a keydown listener for each dialog, keep track of the stack of nested dialogs and have the listener always deal with the topmost dialog. Fixes #3505.
(Ideally we wouldn't have nested dialogs at all, but the current Extension Manager implementation requires it. In the future, we might get rid of one level of dialogs there.)
Note that when #3086 (or similar) is merged, we can clean this up a bit by just having the stack hold
Dialog
objects and storingautoDismiss
in the object.As an aside, we should add some unit tests for the dialog infrastructure. Maybe the right time to do that is when we review #3086.