RFR: 8345188: Support tree-structural pseudo-classes [v10]
John Hendrikx
jhendrikx at openjdk.org
Thu Jan 9 22:10:51 UTC 2025
On Wed, 8 Jan 2025 23:47:10 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:
>> The CSS Selectors specification defines the `:root` pseudo-class that matches root nodes:
>> https://www.w3.org/TR/selectors-4/#the-root-pseudo
>>
>> JavaFX uses the non-standard `.root` style class for the same purpose. We should also support the `:root` pseudo-class for increased compatibility of JavaFX CSS with the web specification.
>>
>> Additionally, we should also support the following child-indexed pseudo-classes:
>> `:first-child`
>> `:last-child`
>> `:only-child`
>> `:nth-child()` with arguments `even` and `odd`
>>
>> The `An+B [of S]?` microsyntax for `:nth-child()` is not supported, as this would require major changes in JavaFX CSS.
>
> Michael Strauß has updated the pull request incrementally with one additional commit since the last revision:
>
> updated cssref
I'm only pointing out a problem, which turns out indeed exists. I would personally err on the side of caution here as people do crazy things with FX.
As each node now gets one or more extra pseudo classes, this also affects the memory usage. I know we've been very conservative with this in the past as well (like adding a field to `Node`).
Anyway, the rest of the PR looks good now, and I've raised the concerns I wanted to raise.
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1652#issuecomment-2581333875
More information about the openjfx-dev
mailing list