Bug 1727820 - Make AppUpdater accomodate API changes and remove race conditions r=bhearsum

This ended up being a nearly total rewrite of AppUpdater, but I think that the changes are worth it.
The flow is much more linear which makes it easier to follow and reason about.
The API is made much more formal by making most methods and members private.
Many potential race conditions have been removed.
Many more potential errors thrown can now be caught by the try/catch that wraps `AppUpdater.check`, causing those errors to show the "Internal Error" message rather than causing the update interface to just freeze.
Cancelling an in-progress update check works more reliably.

This patch does not change AppUpdater consumers to accomodate these changes. That will come later in the patch stack.

Differential Revision: https://phabricator.services.mozilla.com/D159298
This commit is contained in:
Kirk Steuber 2022-10-25 18:10:19 +00:00
parent ed79ce0ded
commit efdc464082

File diff suppressed because it is too large Load diff