Skip to content

Browser widgets using Edge flicker when resized causing flashes #1122

@kwinter108

Description

@kwinter108

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

  1. Start the Eclipse application "Runtime Workspace" with this VM-Arg: -Dorg.eclipse.swt.browser.DefaultType=Edge
  2. 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

  1. Create a RCP application (the 'Create sample content' option can be used to speed up the remaining steps)
  2. Create 2 Part Stacks in the same Part Sash Container.
  3. 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.
  4. Launch the application using the .product file.
  5. Resize the application window.
  6. 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

  1. 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
  1. Additional OS info (e.g. OS version, Linux Desktop, etc)
  • Windows 10 Pro version 22H2
  • Windows 11 Pro version 23H2
  1. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    WindowsHappens on Windows OSedgeEdge Browser

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions