RFR: 8357067: Platform preference change can emit multiple notifications [v2]

Michael Strauß mstrauss at openjdk.org
Thu May 15 19:18:56 UTC 2025


On Thu, 15 May 2025 19:00:01 GMT, Andy Goryachev <angorya at openjdk.org> wrote:

> I am not comfortable with this change, as it falls under application requirements.
> 
> The function of the JavaFX platform is to communicate the OS events as faithfully as it can, in my opinion. If the application requirements call for some debouncing, especially that with a one second delay, then the application is free to implement that.

The platform preferences API is an abstraction, and nowhere do we specify that it replicates the exact stream of OS events. What we _do_ (implicitly) specify, however, is that the observable state of platform preferences accurately reflects the OS settings. Do you really think that it is okay for an application to be able to observe inconsistent transient states? In this example, applications can observe inconsistent `foregroundColor` and `backgroundColor` values.

> If, however, the application requirements call for no delay, this change makes it impossible.

An application can require all it wants, but "inconsistent transient states are okay" is not an acceptable trade-off. There's no delay for uncorrelated changes, which is as good as it gets.

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

PR Comment: https://git.openjdk.org/jfx/pull/1810#issuecomment-2884831530


More information about the openjfx-dev mailing list