JBR-4578 Add Java ATK Wrapper
-
java-atk-wrapperused to be part of OpenJDK (JDK-8204862, IJPL-136231), but it was removed. -
java-atk-wrapperis essential for accessibility in Java applications, including IntelliJ IDEA: IJPL-58438, JBR-4578. - AccessibleAnnouncerTest.java test is passed.
-
java-atk-wrapperhas an LGPL 2.1 license, which can be up-cast to GPL-2.0, allowing the source code to be used.
All changes in JBR should be accompanied with tickets in YT related to the JBR project. Ticket-id should be placed at the beginning of the commit message. Within this JBR ticket we may make proper changes in docker files. Please note the libraries you aded to docker files actually are not available for Oracle Linux 8 that is build platform for jbr21.
My main question about the entire patch is the following: as you've written in the description, this functionality was removed some time ago due to a lot of bugs mentioned in e.g. IJPL-136231:
The problem is that the tool breaks the Swing threading rule and causes lots of exceptions & UI artefacts
and in JBR-4578:
Important! ATKWrapper contains bugs that can crash the JBR.
Also known issues:
- Lists with complex renders work slowly;
- Tree nodes are not voiced;
- comboboxes are not spoken.
All these problems must be solved directly in ATKWrapper.
By putting all this logic back, do you state that all those problems have been fixed and now AWT wrapper is in production-ready quality?
UPD: still actual crash https://discourse.gnome.org/t/sigsegv-in-g-type-check-instance-is-fundamentally-a-0x11/24285
BTW, I think each file that gets updated should also have its copyright header updated. One of the most recent examples of our header can be found e.g. in https://github.com/JetBrains/JetBrainsRuntime/blob/f89a6626d56dad71c3429c662bdad89f6b9a0591/src/java.desktop/unix/classes/sun/awt/wl/WLDisplay.java, but I don't know how to properly merge the existing headers with our one.