> This is a continuation to 
> [JDK-8236651](https://bugs.openjdk.org/browse/JDK-8236651) and it aims to 
> stabilize the linux glass gtk backend.
> 
> It refactors the Glass GTK implementation with a primary focus on window 
> sizing, positioning, and state management, addressing a number of 
> long-standing issues.
> 
> Previously, three separate context classes existed, two of which were used 
> for Java Web Start and Applets. These have been unified, as they are no 
> longer required.
> 
> Additional tests have been introduced to improve coverage. Some tests 
> produced different results depending on the StageStyle, so they have been 
> converted to use `@ParameterizedTest` to exercise multiple styles.
> 
> Although the primary focus is XWayland, the changes have also been verified 
> to work correctly on Xorg.
> 
> This replaces #1789. It removes the use of GdkWindow in favor of GtkWindow, 
> reducing risk and simplifying the review process while preserving the same 
> set of bug fixes. Additionally, #2025 requires a `GtkWindow` to be used when 
> setting the parent of the file chooser dialog.
> 
> To show debug messages,  build with `-PCONF=DebugNative`  and run with 
> `-Dglass.gtk.verbose=CATEGORY` 
> 
> `CATEGORY` can be one or more of:
> - all
> - size
> - position
> - focus
> - state
> - lifecycle
> - input
> - dialog
> 
> Multiple categories can be specified by separating them with commas (e.g. 
> size,focus,input).
> 
> A manual test is provided:
> `java @build/run.args tests/manual/stage/TestStage.java`
> 
> I have added constants for delay times in systemTests (`Util.java`) for 
> geometry, state, and focus. These can be configured at runtime, for example: 
> `-Dtest.geometry.delay=DELAY`. Please let me know if you would prefer these 
> to be removed.
> 
> When a window property is set, it is reported immediately. However, once it 
> reaches the native Glass layer, it may be adjusted or rejected, causing the 
> property to be updated again. Introducing a delay helps ensure the final 
> state has been applied before it is verified.
> 
> Additional testing on other OS versions and manual validation is in progress.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

Thiago Milczarek Sayao has updated the pull request incrementally with one 
additional commit since the last revision:

  Polishing

-------------

Changes:
  - all: https://git.openjdk.org/jfx/pull/2139/files
  - new: https://git.openjdk.org/jfx/pull/2139/files/985bfb4c..db4d0849

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=2139&range=10
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=2139&range=09-10

  Stats: 248 lines in 3 files changed: 90 ins; 77 del; 81 mod
  Patch: https://git.openjdk.org/jfx/pull/2139.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/2139/head:pull/2139

PR: https://git.openjdk.org/jfx/pull/2139

Reply via email to