On Wed, 23 Apr 2025 20:36:37 GMT, Jeremy Wood <[email protected]> wrote:
>> This removes the constant repainting of the AquaRootPaneUI's default button.
>>
>> A long time ago (before Mac OS Yosemite, around 2014) this was needed to
>> match Aqua's native experience. But the default button no longer pulses, so
>> we don't need to repaint ("pulse") the button continually.
>>
>> Here's a clip from a YouTube video I found demonstrating the pulsing effect
>> that this PR removes (you may want to turn your volume off):
>>
>> https://github.com/user-attachments/assets/496bc003-ccba-4178-81bc-765e96d94316
>>
>> This PR includes a test, but this test has never failed. (That is: this PR
>> does not resolve a failing test.) This test would fail if the default button
>> ever looked the same as a non-default button.
>>
>> My primary goal here was to remove the AquaButtonUI's AncestorListener, but
>> while we're here we might as well remove the AquaRootPaneUI's timer and
>> other cleanup.
>>
>> I tried and failed to rename the `private static final byte _pulsed`
>> constant. (More details
>> [here](https://github.com/openjdk/jdk/commit/89d0689f226b9e883df464e6f3e8c20074970499).)
>> If anyone has suggestions for how to rename that without errors please let
>> me know.
>
> Jeremy Wood has updated the pull request incrementally with one additional
> commit since the last revision:
>
> 8344697: use `PULSED` again, but add comment for future reference
test/jdk/com/apple/laf/RootPane/RootPaneDefaultButtonTest.java line 116:
> 114: }
> 115:
> 116: private static void test(Robot robot, AbstractButton buttonToClick,
> ButtonRenderingExpectation... expectations) throws Exception {
please split the long lines to have 80 chars per line
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24778#discussion_r2059701077