There is currently only few handling for failures during initialization
of an Edge browser / WebView instance. The Microsoft documentation
provides further information on this, in particular:
- ERROR_INVALID_STATE indicates that multiple Edge instances with the
same data folder but different environment options exist
- E_ABORT indicates an active abortion of the initialization process
- On any other non-OK return value than the above ones, the app should
retry initialization of the instance; to avoid endless waiting, the
number of retries is currently limited to 5
This change adds appropriate handling for these scenarios, consisting of
uniform rollback logic when the initialization fails or is aborted and
retry logic to make repeated creation attempts.
Contributes to
https://github.com/eclipse-platform/eclipse.platform.swt/issues/1664