We very often have to introduce a pattern in our async methods in order to "swallow"
async errors if a panel was destroyed, if the toolbox was destroyed etc...
This is not an issue in a regular usage of the toolbox, but it can lead to many intermittent failures.
One solution could be to always wait for all requests to be completed before shutting down tests.
Another approach is to have an easy way of swallowing errors when a certain condition is true.
The helper added here will run the provided method in a try catch, and will only bubble up errors if the provided check fails.
Differential Revision: https://phabricator.services.mozilla.com/D81675
Promise with a capital 'P' is already available in all DevTools sandboxes.
Still a couple of letfovers:
* Modules still using `Promise.defer()` (will be handled in bug 1387123)
* devtools/shared/defer, which introduces changes in Promise unhandled exception and stacks (bug 1388054)
MozReview-Commit-ID: PBaliHFa7u
For simple rules like function spacing, we can auto-fix these across the code
base so they are followed in a consistent way.
To generate this patch, I ran:
./mach eslint devtools --no-ignore --fix
After this, I reverted any changes to third party files that we really do want
to ignore.
MozReview-Commit-ID: 6Q8BApkAW20
Move major DevTools files to new directories using the following steps:
hg mv browser/devtools devtools/client
hg mv toolkit/devtools/server devtools/server
hg mv toolkit/devtools devtools/shared
No other changes are made.