RFR: 8236651: Simplify and update glass gtk backend [v62]
Thiago Milczarek Sayao
tsayao at openjdk.java.net
Mon Sep 21 23:44:49 UTC 2020
> ### Summary
> * Simplify and update the Gtk glass backend, making Linux a first-class OpenJFX platform.
>
> ### Goals
> * Make Linux a first-class OpenJFX platform (see Motivation);
> * Simplify the code and reduce it's size;
> * Update to gtk3 (it was originally a port from gtk2);
> * Remove unused code (such as applets and web start);
> * Prepare the ground for a possible future Wayland support.
> ### Testing
> ./gradlew -PEXTRA_TEST_ARGS='-Djavafx.gtk.experimental=true' -PFULL_TEST=true -PUSE_ROBOT=true :systemTests:test
Thiago Milczarek Sayao has refreshed the contents of this pull request, and previous commits have been removed. The
incremental views will show differences compared to the previous content of the PR. The pull request contains one new
commit since the last revision:
parent c95598e8df7d303e8f2540c1845ebdcc2200ab2f
author Thiago Sayao <thiago.sayao at gmail.com> 1578267129 -0300
committer Thiago M Sayao <thiago.sayao at gmail.com> 1600731362 -0300
parent c95598e8df7d303e8f2540c1845ebdcc2200ab2f
author Thiago Sayao <thiago.sayao at gmail.com> 1578267129 -0300
committer Thiago M Sayao <thiago.sayao at gmail.com> 1600731289 -0300
JDK-8236651 Simplify and update glass gtk backend
Cleaning
Cleaning + change year to 2020
Fix crash
Fix crash
Fix crash
Revert idea files
Fix flickering and sizing issues
Pass more tests
Small fixes
Use gtk_window_set_default_size for before-map sizing which is the appropriate function
Better alternative calculation for no _NET_FRAME_EXTENTS WM extension
Fix dialog with owner sizing
Maybe fix background
Big cleanup
Allow undecorated windows to be maximized.
Mouse pointer grab
Work on mouse grab
8233747: JVM crash in com.sun.webkit.dom.DocumentImpl.createAttribute
Reviewed-by: kcr, ghb
8234474: [macos 10.15] Crash in file dialog in sandbox mode
Reviewed-by: arapte, prr
8236648: javadoc warning on Text::tabSizeProperty method
Reviewed-by: kcr
8233798: Ctrl-L character mistakenly removed from gstreamer.md
Reviewed-by: almatvee
8232589: Remove CoreAudio Utility Classes
Reviewed-by: kcr, jvos
8236448: Remove unused and repair broken Android/Dalvik code
Reviewed-by: kcr
8236808: javafx_iio can not be used in static environment
Reviewed-by: kcr
8236733: Change JavaFX release version to 15
Reviewed-by: arapte
8232128: Better formatting for numbers
Reviewed-by: rhalade, ghb
8232214: Improved internal validations
Reviewed-by: ghb, rhalade
8237078: [macOS] Media build broken on XCode 11
Reviewed-by: kcr, almatvee
JDK-8236651 Simplify and update glass gtk backend
Cleaning
Cleaning + change year to 2020
Fix crash
Fix crash
Fix crash
Revert idea files
Fix flickering and sizing issues
Pass more tests
Small fixes
Use gtk_window_set_default_size for before-map sizing which is the appropriate function
Better alternative calculation for no _NET_FRAME_EXTENTS WM extension
Fix dialog with owner sizing
Maybe fix background
Big cleanup
Allow undecorated windows to be maximized.
Mouse pointer grab
Work on mouse grab
Fix Initial Size
Revert "Fix Initial Size"
This reverts commit 0c982d60
Better fix for initial size
8157224: isNPOTSupported check is too strict
Reviewed-by: kcr
8233942: Update to 609.1 version of WebKit
Co-authored-by: Guru HB <guru.hb at oracle.com>
Co-authored-by: Arun Joseph <arun.aj.joseph at oracle.com>
Co-authored-by: Kevin Rushforth <kevin.rushforth at oracle.com>
Reviewed-by: kcr, jvos, ajoseph
8236753: Animations do not play backwards after being stopped
Reviewed-by: kcr, arapte
8237823: Mark TextTest.testTabSize as unstable
Reviewed-by: prr
8236912: NullPointerException when clicking in WebView with Button 4 or Button 5
Reviewed-by: ghb, kcr
8232824: Removing TabPane with strong referenced content causes memory leak from weak one
Reviewed-by: kcr, aghaisas
8237372: NullPointerException in TabPaneSkin.stopDrag
Reviewed-by: arapte
8237003: Remove hardcoded WebAnimationsCSSIntegrationEnabled flag in DumpRenderTree
Reviewed-by: kcr
8238249: GetPrimitiveArrayCritical passed with hardcoded FALSE value
Reviewed-by: kcr
8088198: Exception thrown from snapshot if dimensions are larger than max texture size
Reviewed-by: arapte, kcr
8237833: Check glyph size before adding to glyph texture cache
Reviewed-by: kcr
8237782: Only read advances up to the minimum of the numHorMetrics or the available font data.
Reviewed-by: kcr
8237770: Error creating fragment phong shader on iOS
Reviewed-by: kcr
8237944: webview native cl "-m32" unknown option for windows 32-bit build
Reviewed-by: kcr
8231513: JavaFX cause Keystroke Receiving prompt on MacOS 10.15 (Catalina)
Reviewed-by: prr, jvos
8237975: Non-embedded Animations do not play backwards after being paused
Reviewed-by: kcr, arapte
8237503: Update copyright header for files modified in 2020
Reviewed-by: arapte
Revert back focus mechanism
Fix seat_grab param
Fix POPUP window positioning
Fix bug on extents calculation
Ajustments
Fix pointer grab bug
Remove unused var
8237469: Inherited styles don't update when node is moved
Reviewed-by: dgrieve, aghaisas, kcr
8238526: Cherry pick GTK WebKit 2.26.3 changes
Reviewed-by: kcr, jvos
8237453: [TabPane] Incorrect arrow key traversal through tabs after reordering
Reviewed-by: kcr, aghaisas
8236839: System menubar removed when other menubars are created or modified
Reviewed-by: kcr, aghaisas
8227619: Potential memory leak in javafx.scene.control.ListView
Reviewed-by: kcr, aghaisas
Adjust comment
Adjust comment
Fix compile error on implicit function declaration on updated g++
fix compilation on ubuntu 16.04
calculate less if _NET_FRAME_EXTENTS is available
Fixes for WM that do not support frame extents
Mouse grab fixes on Ubuntu 20.04 Gtk+3.20+
Better comment
Fix Tab
Prefer content size over window size.
Fixes for ubuntu 16.04 (which delays frame extents)
Just comment fixing
More fixes for 16.04 (i mean gtk+ version that ships on 16.04, plus the different window manager - Unity).
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Only work-around Unity bug if Unity is the Window Manager (Ubuntu 16.04).
Separate the new gtk glass impl
Make gtk3 compile without deprecations
Make gtk3 compile without deprecations
Make gtk3 compile without deprecations
Smooth scrolling only possible with impl on java side
Restore deleted idea file
Restore comment position
Rename flag to javafx.gtk.experimental
Rename flag to javafx.gtk.experimental
Fix window position bug
Fix build with merged linux.gradle
Forgot a g_print
Limit GTK on 3.18 (Ubuntu 16.04)
Limit GTK on 3.8
Fix compilation on 18.04
Small Adjustments
Revert to all events mask
Fix mouse click event
JDK-8236651 Simplify and update glass gtk backend
Cleaning
Cleaning + change year to 2020
Fix crash
Fix crash
Fix crash
Revert idea files
Fix flickering and sizing issues
Pass more tests
Small fixes
Use gtk_window_set_default_size for before-map sizing which is the appropriate function
Better alternative calculation for no _NET_FRAME_EXTENTS WM extension
Fix dialog with owner sizing
Maybe fix background
Big cleanup
Allow undecorated windows to be maximized.
Mouse pointer grab
Work on mouse grab
8233747: JVM crash in com.sun.webkit.dom.DocumentImpl.createAttribute
Reviewed-by: kcr, ghb
8234474: [macos 10.15] Crash in file dialog in sandbox mode
Reviewed-by: arapte, prr
8236648: javadoc warning on Text::tabSizeProperty method
Reviewed-by: kcr
8233798: Ctrl-L character mistakenly removed from gstreamer.md
Reviewed-by: almatvee
8232589: Remove CoreAudio Utility Classes
Reviewed-by: kcr, jvos
8236448: Remove unused and repair broken Android/Dalvik code
Reviewed-by: kcr
8236808: javafx_iio can not be used in static environment
Reviewed-by: kcr
8236733: Change JavaFX release version to 15
Reviewed-by: arapte
8232128: Better formatting for numbers
Reviewed-by: rhalade, ghb
8232214: Improved internal validations
Reviewed-by: ghb, rhalade
8237078: [macOS] Media build broken on XCode 11
Reviewed-by: kcr, almatvee
JDK-8236651 Simplify and update glass gtk backend
Cleaning
Cleaning + change year to 2020
Fix crash
Fix crash
Fix crash
Revert idea files
Fix flickering and sizing issues
Pass more tests
Small fixes
Use gtk_window_set_default_size for before-map sizing which is the appropriate function
Better alternative calculation for no _NET_FRAME_EXTENTS WM extension
Fix dialog with owner sizing
Maybe fix background
Big cleanup
Allow undecorated windows to be maximized.
Mouse pointer grab
Work on mouse grab
Fix Initial Size
Revert "Fix Initial Size"
This reverts commit 0c982d60
Better fix for initial size
8157224: isNPOTSupported check is too strict
Reviewed-by: kcr
8233942: Update to 609.1 version of WebKit
Co-authored-by: Guru HB <guru.hb at oracle.com>
Co-authored-by: Arun Joseph <arun.aj.joseph at oracle.com>
Co-authored-by: Kevin Rushforth <kevin.rushforth at oracle.com>
Reviewed-by: kcr, jvos, ajoseph
8236753: Animations do not play backwards after being stopped
Reviewed-by: kcr, arapte
8237823: Mark TextTest.testTabSize as unstable
Reviewed-by: prr
8236912: NullPointerException when clicking in WebView with Button 4 or Button 5
Reviewed-by: ghb, kcr
8232824: Removing TabPane with strong referenced content causes memory leak from weak one
Reviewed-by: kcr, aghaisas
8237372: NullPointerException in TabPaneSkin.stopDrag
Reviewed-by: arapte
8237003: Remove hardcoded WebAnimationsCSSIntegrationEnabled flag in DumpRenderTree
Reviewed-by: kcr
8238249: GetPrimitiveArrayCritical passed with hardcoded FALSE value
Reviewed-by: kcr
8088198: Exception thrown from snapshot if dimensions are larger than max texture size
Reviewed-by: arapte, kcr
8237833: Check glyph size before adding to glyph texture cache
Reviewed-by: kcr
8237782: Only read advances up to the minimum of the numHorMetrics or the available font data.
Reviewed-by: kcr
8237770: Error creating fragment phong shader on iOS
Reviewed-by: kcr
8237944: webview native cl "-m32" unknown option for windows 32-bit build
Reviewed-by: kcr
8231513: JavaFX cause Keystroke Receiving prompt on MacOS 10.15 (Catalina)
Reviewed-by: prr, jvos
8237975: Non-embedded Animations do not play backwards after being paused
Reviewed-by: kcr, arapte
8237503: Update copyright header for files modified in 2020
Reviewed-by: arapte
Revert back focus mechanism
Fix seat_grab param
Fix POPUP window positioning
Fix bug on extents calculation
Ajustments
Fix pointer grab bug
Remove unused var
8237469: Inherited styles don't update when node is moved
Reviewed-by: dgrieve, aghaisas, kcr
8238526: Cherry pick GTK WebKit 2.26.3 changes
Reviewed-by: kcr, jvos
8237453: [TabPane] Incorrect arrow key traversal through tabs after reordering
Reviewed-by: kcr, aghaisas
8236839: System menubar removed when other menubars are created or modified
Reviewed-by: kcr, aghaisas
8227619: Potential memory leak in javafx.scene.control.ListView
Reviewed-by: kcr, aghaisas
Adjust comment
Adjust comment
Fix compile error on implicit function declaration on updated g++
fix compilation on ubuntu 16.04
calculate less if _NET_FRAME_EXTENTS is available
Fixes for WM that do not support frame extents
Mouse grab fixes on Ubuntu 20.04 Gtk+3.20+
Better comment
Fix Tab
Prefer content size over window size.
Fixes for ubuntu 16.04 (which delays frame extents)
Just comment fixing
More fixes for 16.04 (i mean gtk+ version that ships on 16.04, plus the different window manager - Unity).
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Fix unfullscreen bug on older gtk+
Only work-around Unity bug if Unity is the Window Manager (Ubuntu 16.04).
Separate the new gtk glass impl
Make gtk3 compile without deprecations
Make gtk3 compile without deprecations
Make gtk3 compile without deprecations
Smooth scrolling only possible with impl on java side
Restore deleted idea file
Restore comment position
Rename flag to javafx.gtk.experimental
Fix build with merged linux.gradle
Fix compilation on 18.04
Revert to all events mask
Fix mouse click event
-------------
Changes:
- all: https://git.openjdk.java.net/jfx/pull/77/files
- new: https://git.openjdk.java.net/jfx/pull/77/files/a8e1e18b..97c67419
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jfx&pr=77&range=61
- incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=77&range=60-61
Stats: 2 lines in 1 file changed: 0 ins; 2 del; 0 mod
Patch: https://git.openjdk.java.net/jfx/pull/77.diff
Fetch: git fetch https://git.openjdk.java.net/jfx pull/77/head:pull/77
PR: https://git.openjdk.java.net/jfx/pull/77
More information about the openjfx-dev
mailing list