[Rev 28] RFR: 8236651: Simplify and update glass gtk backend

Thiago Milczarek Sayao tsayao at openjdk.java.net
Fri Mar 13 00:31:39 UTC 2020


> This proposed change does the following:
> 
> - Ports DND target to use GTK reducing code size and adding extra text / image formats (such as .gif);
> - Use gtk signals instead of gdk events (also to reduce code size);
> - Simplifies geometry (sizing/positioning) with a more straightforward code (less special cases), making it easier to
>   understand and maintain;
> - Replaces (pointer and focus) grabbing with a gtk approach;
> - Reworked frame extents (the wm extension to get decoration sizes) to reduce size and complexity;
> - Simplified cursor changing (for gtk3);
> - Reduced the use of gtk/gdk deprecated functions;
> - Removes Applet/Web Start code;
> - Fixes https://bugs.openjdk.java.net/browse/JDK-8237491;
> 
> In general it reduces code size and complexity and hands more work to gtk.
> 
> Updated on 2020-01-29:
> ![image](https://user-images.githubusercontent.com/30704286/73354728-2ce47d00-4275-11ea-935c-414fc26163d7.png)

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 five additional commits
since the last revision:

 - Merge branch 'master' into jdk_8236651
 - Merge pull request #7 from openjdk/master
   
   merge from jfx
 - Merge pull request #6 from openjdk/master
   
   Merge
 - 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
 - Merge pull request #5 from openjdk/master
   
   Merge from jfx

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

Changes:
  - all: https://git.openjdk.java.net/jfx/pull/77/files
  - new: https://git.openjdk.java.net/jfx/pull/77/files/f7a84fdb..11ca96c7

Webrevs:
 - full: https://webrevs.openjdk.java.net/jfx/77/webrev.28
 - incr: https://webrevs.openjdk.java.net/jfx/77/webrev.27-28

  Stats: 17809 lines in 174 files changed: 7955 ins; 3779 del; 6075 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