Prevent freezes on every focus change if Firefox stops responding. #7818
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.
Link to issue number:
None.
Summary of the issue:
If Firefox (or Chrome or any other app based on these) stopped responding, NVDA often freezes every time the focused changes, even if the browser is in the background. In the case of a freeze or crash, this makes it very difficult to recover from this situation. This also makes it extremely difficult for a developer to debug Firefox or Chrome, since debugging necessarily suspends the process.
Description of how this pull request fixes the issue:
This occurred because NVDA queried the document on every focus change to see if it was alive, but that query blocked in the case of an unresponsive process.
Now, we don't query if the process is in the background. We just assume the document is alive in this case. The chances of a document dying while the browser is in the backgroud are low anyway. However, if this did occur, the buffer will still be killed once the browser comes to the foreground or gets exited.
Testing performed:
Known issues with pull request:
None.
Change log entry:
Bug Fixes: