This PR alters the way ComboBox and Spinner deliver KeyEvents to their TextField editors. When a ComboBox or Spinner is the focus owner it is the target of all key events. Currently the skin installs a filter to catch key events and re-fire most of them at the TextEdit. The skin copies the event, fires the copy at the TextField, and then consumes the original event. This confuses the system menu bar logic on macOS; only the original event can trigger a menu item and that event is always being consumed.
In this PR only the original key event makes its way up and down the event dispatch chain. To drive the TextField the skin delivers the event copy directly to the TextField's event dispatcher and only consumes the original event if the TextField consumes the copy. --------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - Only run tests on Mac - New approach to forwarding key events to ComboBox and Spinner editors Changes: https://git.openjdk.org/jfx/pull/2166/files Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=2166&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8354539 Stats: 94 lines in 4 files changed: 73 ins; 14 del; 7 mod Patch: https://git.openjdk.org/jfx/pull/2166.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/2166/head:pull/2166 PR: https://git.openjdk.org/jfx/pull/2166
