-
Notifications
You must be signed in to change notification settings - Fork 182
Description
Describe the bug
Browser widgets using the Edge browser flicker when resized. When included in a RCP Part and resized, the flicker can cause rapid flashing between a black background and the content displayed in the browser. The flashes created can exceed the threshold defined in WCAG 2.1 - SC 2.3 and may trigger seizures in individuals who have photosensitive seizure disorders.
To Reproduce
Option 1
- Start the Eclipse application "Runtime Workspace" with this VM-Arg:
-Dorg.eclipse.swt.browser.DefaultType=Edge
- Resize the JavaDoc view
Video
WARNING: This video may potentially trigger seizures for people with photosensitive epilepsy. Viewer discretion is advised.
flickering_javadoc_view_using_edge_as_browser
Option 2
- Create a RCP application (the 'Create sample content' option can be used to speed up the remaining steps)
- Create 2 Part Stacks in the same Part Sash Container.
- Create a Part in each Part Stack and associate them to classes. One of the parts must contain a Browser widget using the SWT.EDGE style. Set the browser to any valid URL. The other Part can contain any widget as it only exists to allow the parts to be resized within the window.
- Launch the application using the .product file.
- Resize the application window.
- Use the mouse to drag the boarder between the Parts to cause the Browser to resize.
Video
WARNING: This video may potentially trigger seizures for people with photosensitive epilepsy. Viewer discretion is advised.
Recording of issue
Expected behavior
Browser widgets using the Edge browser should resize smoothly without causing flickering.
Environment
- Select the platform(s) on which the behavior is seen:
I have only been able to test this issue on a Windows machine. Given the nature of this issue, it is likely that it will occur in Linux and macOS as well
-
- All OS
-
- Windows
-
- Linux
-
- macOS
- Additional OS info (e.g. OS version, Linux Desktop, etc)
- Windows 10 Pro version 22H2
- Windows 11 Pro version 23H2
- JRE/JDK version
JDK 11 and JDK 17
Version since
I have seen this occur in 4.21 and 4.31. It likely has been occurring since the introduction of Edge support in 4.19.
Workaround (or) Additional context
The only workaround I have been able to identify for this issue is to use a listener for the SWT.Resize event to hide the browser temporarily while resizing.