On Thu, 10 Sep 2026 18:12:18 GMT, Michael Strauß <[email protected]> wrote:

>> When a binary stylesheet contains CSS transitions, deserialization fails 
>> with errors similar to:
>> 
>> SEVERE: could not deserialize 
>> com.sun.javafx.css.TransitionDefinitionConverter
>> 
>> 
>> The reason is that the `StyleConverter.getInstance(String)` factory used to 
>> deserialize converters doesn't include the converters that were added to 
>> support CSS transitions.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Michael Strauß has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   remove float and long

Looks good, thank you for making the changes!  Some small questions related to 
tests, inline.

modules/javafx.graphics/src/main/java/javafx/css/Stylesheet.java line 75:

> 73:      * Version 10: direct serialization of Number types
> 74:      */
> 75:     final static int BINARY_CSS_VERSION = 10;

you might want to update the PR description to mention the file format change.

modules/javafx.graphics/src/test/java/test/javafx/css/ParsedValueTest.java line 
511:

> 509:         Number[] numbers = {
> 510:             12345678,
> 511:             -123.5

do you think this should also include extreme values like `Double.NaN,` `-0.0`, 
`Integer.MAX_VALUE`, `Integer.MIN_VALUE` ?

modules/javafx.graphics/src/test/java/test/javafx/css/StylesheetTest.java line 
816:

> 814:                             -fx-opacity 0.2s 30ms linear,
> 815:                             -fx-scale-x 160ms cubic-bezier(0.1, 0.2, 
> 0.3, 0.4),
> 816:                             -fx-scale-y 0.2s steps(3, jump-both),

do you think we should also test all possible values for steps() like `start`, 
`end`, `jump-start`. `jump=end`, `jump-none`?

modules/javafx.graphics/src/test/java/test/javafx/css/StylesheetTest.java line 
817:

> 815:                             -fx-scale-x 160ms cubic-bezier(0.1, 0.2, 
> 0.3, 0.4),
> 816:                             -fx-scale-y 0.2s steps(3, jump-both),
> 817:                             -fx-rotate 180ms linear(0 0%, 0.25 50%, 1 
> 100%);

should non-percentage values also be tested (like `transition-timing-function: 
linear(0, 0.3, 1);` since linear() uses `NaN` to indicate omitted percentages?

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

PR Review: https://git.openjdk.org/jfx/pull/2303#pullrequestreview-5172588896
PR Review Comment: https://git.openjdk.org/jfx/pull/2303#discussion_r3983785197
PR Review Comment: https://git.openjdk.org/jfx/pull/2303#discussion_r3983832835
PR Review Comment: https://git.openjdk.org/jfx/pull/2303#discussion_r3983852765
PR Review Comment: https://git.openjdk.org/jfx/pull/2303#discussion_r3983818583

Reply via email to