[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: RFR: 8236651: Simplify and update glass gtk backend [v63]
From:       Thiago Milczarek Sayao <tsayao () openjdk ! java ! net>
Date:       2020-11-12 17:34:16
Message-ID: uebjHe30SAHUwKw9MMUSqzHsibQ58pT5-cnO7m3nsYY=.44e82808-cda1-46e0-a531-fd956790315a () github ! com
[Download RAW message or body]

> ### 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 updated the pull request with a new target base due to a \
merge or a rebase. The incremental webrev excludes the unrelated changes brought in \
by the merge/rebase. The pull request contains 13 additional commits since the last \
revision:

 - Restore WM_CLASS functionality (as described on the code comment).
 - Merge branch 'master' into jdk_8236651
 - Merge pull request #13 from openjdk/master
   
   Merge master
 - parent c95598e8df7d303e8f2540c1845ebdcc2200ab2f
   author Thiago Sayao <thiago.sayao@gmail.com> 1578267129 -0300
   committer Thiago M Sayao <thiago.sayao@gmail.com> 1600731362 -0300
   
   parent c95598e8df7d303e8f2540c1845ebdcc2200ab2f
   author Thiago Sayao <thiago.sayao@gmail.com> 1578267129 -0300
   committer Thiago M Sayao <thiago.sayao@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@oracle.com>
   Co-authored-by: Arun Joseph <arun.aj.joseph@oracle.com>
   Co-authored-by: Kevin Rushforth <kevin.rushforth@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@oracle.com>
   Co-authored-by: Arun Joseph <arun.aj.joseph@oracle.com>
   Co-authored-by: Kevin Rushforth <kevin.rushforth@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
 - Merge pull request #12 from openjdk/master
   
   Merge with main
 - Merge pull request #11 from openjdk/master
   
   Merge from upstream
 - Merge pull request #10 from openjdk/master
   
   Update from master
 - Merge pull request #9 from openjdk/master
   
   Merge from upstream
 - Merge pull request #8 from openjdk/master
   
   Merge upstream
 - Merge pull request #7 from openjdk/master
   
   merge from jfx
 - ... and 3 more: https://git.openjdk.java.net/jfx/compare/a93406ae...e19295f3

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

Changes:
  - all: https://git.openjdk.java.net/jfx/pull/77/files
  - new: https://git.openjdk.java.net/jfx/pull/77/files/97c67419..e19295f3

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jfx&pr=77&range=62
 - incr: https://webrevs.openjdk.java.net/?repo=jfx&pr=77&range=61-62

  Stats: 37178 lines in 274 files changed: 3827 ins; 32925 del; 426 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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic