Fix [JDK-8319669](https://bugs.openjdk.org/browse/JDK-8319669) as follows:

1. Override the `NSApplicationDelegate` method 
`applicationSupportsSecureRestorableState` in `GlassApplication` and return 
`YES`. This silences the warning that FX applications now get on macOS 14.
2. Create and initialize an `NSApplicationFX` subclass of `NSApplication` with 
no additional functionality. This stops AWT from overwriting the 
NSApplicationDelegate (`GlassApplication`) that JavaFX sets during toolkit 
initialization in the case where the AWT toolkit is used from a JavaFX 
Application (e.g., when using SwingNode or other Swing functionality), and is 
necessary in order to safely do the above. It also fixes other problems that 
can result from the delegate being overwritten.

As noted in the bug report, this PR solves the following problems:

* Eliminates the "Secure coding is not enabled for restorable state" warning on 
macOS 14
* The assertion error reported in 
[JDK-8318129](https://bugs.openjdk.org/browse/JDK-8318129)

* The FX application stops getting messages when the application is hidden, 
deactivated, reactivated, etc. We currently don't do anything with these 
messages once the application is running, but we might do so in the future.

* Probably related to the above, we sometimes get an odd behavior when trying 
to hide an application on macOS 13 using the CMD-H key after the AWT Toolkit 
has been initialized. Instead of hiding the window, it pops up a finder window 
with a folder icon and a label that shows the version of Java.

* If AWT and FX return a different answer from their delegate's 
`applicationSupportsSecureRestorableState` method, it will crash on macOS 13.x.

This is the FX equivalent of 
[JDK-8318854](https://bugs.openjdk.org/browse/JDK-8318854) in AWT.

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

Commit messages:
 - Revert "Debug logging"
 - Debug logging
 - 8319669: [macos14] Running any JavaFX app prints Secure coding warning

Changes: https://git.openjdk.org/jfx/pull/1280/files
 Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1280&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8319669
  Stats: 22 lines in 2 files changed: 20 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jfx/pull/1280.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1280/head:pull/1280

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

Reply via email to