Skip to content

Asynchronously open internal browser for javadoc hover - #3107

Merged
iloveeclipse merged 1 commit into
eclipse-jdt:masterfrom
r-mennig:open_javadoc_hover_external_link_async
Aug 7, 2026
Merged

Asynchronously open internal browser for javadoc hover#3107
iloveeclipse merged 1 commit into
eclipse-jdt:masterfrom
r-mennig:open_javadoc_hover_external_link_async

Conversation

@r-mennig

@r-mennig r-mennig commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Currently, when opening an external link in a javadoc hover in the internal browser under Windows, the user interface permanently freezes.

This is caused by a deadlock within the Edge/WebView2 browser runtime which occurs if a new browser instance is being created from within a (navigation) callback of another browser instance.

Adapting handleExternalLink(URL, Display) in the link handler used by the JavadocHover to open the new browser instance asynchronously fixes the problem as the browser creation is now moved out of the (navigation) callback.

Fixes #3105

@r-mennig
r-mennig force-pushed the open_javadoc_hover_external_link_async branch 2 times, most recently from 0244932 to 15f2805 Compare August 7, 2026 14:53
Open internal browser asynchronously when handling external link in
javadoc hover.

This fixes a deadlock under Windows with its Edge/WebView2 browser
runtime as it avoids the new browser instance being created from within
the (navigation) callback of another browser instance.

Fixes eclipse-jdt#3105
@r-mennig
r-mennig force-pushed the open_javadoc_hover_external_link_async branch from 15f2805 to 7cf6cef Compare August 7, 2026 14:54

@HeikoKlare HeikoKlare left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have tested the proposal with the scenario we have identified in #3105 as well as other navigation scenarios in the JavadocHover (navigating to other Javadoc pages, having an external browser preferred via prefereces). I have tested with Windows and macOS.

The change works fine for me on both systems and in all scenarios, and it particularly resolves the UI freeze issue on Windows.
It is also conceptually sound to me, as opening a browser view does not need to happen synchronous from a URL navigation callback inside a view but may reasonably be scheduled for asynchronous execution.

@iloveeclipse
iloveeclipse merged commit 69b61e9 into eclipse-jdt:master Aug 7, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Clicking javadoc web link freezes Eclipse when using internal browser

3 participants