The handle to a newly instantiated Edge browser is provided via a
callback. This callback may be either be invoked synchronously when
creating a WebView2 controller (happens on first creation of an Edge
browser instance in an application) or asynchronously via a processed OS
event (from second creation of an Edge browser instance onwards). The
callback is currently released before the OS events are processed, which
may cause issues when instantiating more than one Edge browser in a
single application.
With this change, the callback is only released when it is not required
and may not be called anymore. A test instantiating multiple (Edge)
browsers in a single application is added to ensure that the
asynchronous callback invocation is executed in a test.
Contributes to
https://github.com/eclipse-platform/eclipse.platform.swt/issues/1013