-
Notifications
You must be signed in to change notification settings - Fork 152
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Edge Browser: Replace BrowserInformationControl dosn't work on hover #1540
Comments
I added this issue to the roadmap. @amartya4256 please provide a screenshot to better understand the issue. |
With this commit, the hover information control can be replaced on the focus in event. contributes to eclipse-platform/eclipse.platform.swt#1540
With this commit, the hover information control can be replaced on the focus in event. contributes to eclipse-platform/eclipse.platform.swt#1540
With this commit, the hover information control can be replaced on the focus in event. contributes to eclipse-platform/eclipse.platform.swt#1540
With this commit, the hover information control can be replaced on the focus in event. contributes to eclipse-platform/eclipse.platform.swt#1540
I looked into mouse events in general. WebView2 does not offer any native API for this. However, it should be possible to use a I got a PoC partially(*) working locally which I need to clean up and will submit a draft PR when I find some time. |
That sounds great! So if I understand correctly, that would render #1499 with eclipse-platform/eclipse.platform.ui#2408 obsolete, as it will allow to restore the "original" hovering behavior, won't it? Do think we should thus hold those back those PRs and wait for your draft PR, @sratz? |
Just a random thought: I also wondered if org.eclipse.swt.widgets.Display.addFilter(int, Listener) might help see events one might not otherwise see... |
As far as I understood the analysis results, once the cursor is on top of the (embedded) WebView component, no mouse events will reach the Eclipse/SWT process (and thus the Display class) anymore. They are already processed by the WebView process. That why this PR proposes, as a first step, to notify about focus events (implicitly triggered by clicking into the WebView component) and Sebastian's proposal would capture the mouse events within the WebView process and explicitly pass them to the Eclipse/SWT process via callback. |
Yes, if the embedded view can do the proper work, that would ideal and better. I just randomly wondered if say via a timer event one could trigger determining the location of the mouse position to know it is over the area of the display in which the browser component exists and could determine when hovering is occurring because the mouse point remains in that area without moving. Anyway, it's just a random thought... |
Yes, interesting idea/"tweak" 👍 We discussed similar approaches but I am not sure whether we had that exact one on the list. @amartya4256 do you remember if you already tried something like that or if that may be feasible? |
It was one of the ideas we talked about but I didn't try implementing it so far since my thoughts were that we need to check for this in a loop and validate the posititon of the cursor against the bounds of the browser. Do you have any other idea which is more efficient than just running a loop, i.e. polling for such event as a listener? Not sure if it is possible. |
You couldn't just loop and block the event queue. You'd need to use org.eclipse.swt.widgets.Display.timerExec(int, Runnable) and from the Runnable you can call timerExec again to test again later, detect that the hover has happened, or detect that it's time to stop checking for whatever reason, i.e., the browser control has disappeared. A bit like what this does: |
This contribution captures the hover over edge browser and sends a mouse move event to its listener. contributes to eclipse-platform#1540
This contribution captures the hover over edge browser and sends a mouse move event to its listener. contributes to eclipse-platform#1540
This contribution captures the hover over edge browser and sends a mouse move event to its listener. contributes to eclipse-platform#1540
This contribution captures mouse movements in the edge browser and sends according mouse move, enter and exit events to its listener. contributes to eclipse-platform#1540
This contribution captures mouse movements in the edge browser and sends according mouse move, enter and exit events to its listener. contributes to eclipse-platform#1540
This contribution captures mouse movements in the edge browser and sends according mouse move, enter and exit events to its listener. contributes to eclipse-platform#1540
This contribution captures mouse movements in the edge browser and sends according mouse move, enter and exit events to its listener. contributes to eclipse-platform#1540
This contribution captures mouse movements in the edge browser and sends according mouse move, enter and exit events to its listener. contributes to #1540
This contribution captures mouse movements in the edge browser and sends according mouse move, enter and exit events to its listener. contributes to eclipse-platform#1540
Describe the bug
When using Edge Browser as the default browser, the BrowserInformationControl for the JavaDoc hover tooltip doesn't replace with navihation buttons on hovering.
To Reproduce
Expected behavior
The BrowserInformationControl should be replaced with the ones with navigation buttons with any action on the tooltip.
Note: With WebView2, it doesn't seem possible to capture hover events and one possible proposal could be to trigger this event on Mouse Click and other Mouse Events which can be captured.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment:
Additional OS info (e.g. OS version, Linux Desktop, etc)
JRE/JDK version
Version since
Eclipse or SWT version since when the behavior is seen [e.g. 4.23]
Workaround (or) Additional context
Add any other context about the problem here.
Any known workarounds for the problem?
The text was updated successfully, but these errors were encountered: