You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Win32] Spin event loop in Edge instead of only processing OS messages
Before recent improvements of the Edge implementation, it was possible
that a browser instance was disposed during WebView initialization,
which made the initialization fail exceptionally. This has been
worked around by not processing all kinds of asynchronously scheduled
events (like a disposal) while waiting for WebView initialization but
only those being processes by the OS event queue. This was still
necessary to process the OS callbacks for WebView initialization and
other operations.
In some cases, this may lead to an Edge browser instance blocking the UI
thread, as some asynchronously scheduled tasks need to be processed but
are not. In addition, enhancements of the Edge implementation made the
initialization happen asynchronously anyway, such that the browser
instantiation itself cannot throw an error anymore, but the
asynchronously happening initialization is now capable of processing
asynchronous browser disposals.
This change simplifies the event processing inside Edge to not only
process the next OS message but to just ordinarily spin the event loop.
This reduces the risk of operations executed on an Edge browser to block
execution.
Copy file name to clipboardExpand all lines: tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_browser_Browser.java
+9-3Lines changed: 9 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -302,11 +302,17 @@ private int reportOpenedDescriptors() {
0 commit comments