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