Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread John Hendrikx
On Wed, 8 Jan 2025 23:47:10 GMT, Michael Strauß 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

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Michael Strauß
On Thu, 9 Jan 2025 21:41:09 GMT, John Hendrikx wrote: > I suspect browsers have an easy way to track the index of each child (without > having to renumber them). All that would take is a different underlying list > type as Nodes must be unique. A Tree structure for example can determine the >

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread John Hendrikx
On Thu, 9 Jan 2025 19:22:04 GMT, Michael Strauß wrote: > > so maybe it should have been done programmatically in the particular > > application, rather than impose a non-zero overhead on everyone (however > > small)? > > How difficult it would be to implement the option 4? > > I don't know how

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread John Hendrikx
On Thu, 9 Jan 2025 21:48:52 GMT, Michael Strauß wrote: > > Note that you may not have choice where to insert, as the order of children > > also determines their Z ordering. > > You can always prepare the required list in advance, and then `setAll` it. I'm unsure how that would prevent issues.

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Michael Strauß
On Thu, 9 Jan 2025 21:51:05 GMT, John Hendrikx wrote: > I'm unsure how that would prevent issues. It will then still require setting > a pseudo class on all elements in the list, in addition to losing all other > optimizations when the list is only shifted by a few elements... The performance

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Michael Strauß
On Thu, 9 Jan 2025 21:45:58 GMT, John Hendrikx wrote: > Note that you may not have choice where to insert, as the order of children > also determines their Z ordering. You can always prepare the required list in advance, and then `setAll` it. - PR Comment: https://git.openjdk.org/

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread John Hendrikx
On Thu, 9 Jan 2025 19:13:20 GMT, Michael Strauß wrote: > By the way, I still think that front-inserting nodes one by one is a > pathological situation, and can be easily fixed by just using `addAll` > instead of `add` in a loop. > > In terms of a future enhancement, I can't really see us put i

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread John Hendrikx
On Thu, 9 Jan 2025 18:53:39 GMT, Michael Strauß wrote: > This outcome is what I would expect, and it puts an upper limit on the number > of nodes that you can front-insert one by one into a container (the time > complexity grows quadratically, so you'll pretty soon freeze the application). > >

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Kevin Rushforth
On Wed, 8 Jan 2025 23:47:10 GMT, Michael Strauß 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

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Andy Goryachev
On Thu, 9 Jan 2025 19:22:04 GMT, Michael Strauß wrote: >> so maybe it should have been done programmatically in the particular >> application, rather than impose a non-zero overhead on everyone (however >> small)? >> >> How difficult it would be to implement the option 4? > >> so maybe it shou

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Kevin Rushforth
On Thu, 9 Jan 2025 19:32:44 GMT, Andy Goryachev wrote: > I am ok with integrating this PR as is. As am I. I fired off a headful CI build with this fix. Once it passes, I'll approve. - PR Comment: https://git.openjdk.org/jfx/pull/1652#issuecomment-2581102911

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Andy Goryachev
On Wed, 8 Jan 2025 23:47:10 GMT, Michael Strauß 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

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Michael Strauß
On Thu, 9 Jan 2025 19:08:34 GMT, Andy Goryachev wrote: > so maybe it should have been done programmatically in the particular > application, rather than impose a non-zero overhead on everyone (however > small)? > > How difficult it would be to implement the option 4? I don't know how difficul

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Kevin Rushforth
On Wed, 8 Jan 2025 23:47:10 GMT, Michael Strauß 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

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Andy Goryachev
On Thu, 9 Jan 2025 19:13:20 GMT, Michael Strauß wrote: > On the other hand, there's a whole category of pseudo-classes that are > unrepresentable right now in JavaFX ... via CSS. One more reason to remove it and set styles programmatically when/if needed. - PR Comment: https://g

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Michael Strauß
On Wed, 8 Jan 2025 23:47:10 GMT, Michael Strauß 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

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Kevin Rushforth
On Thu, 9 Jan 2025 19:03:00 GMT, Michael Strauß wrote: > Maybe we should pick 1 now and consider 4 as a possible future enhancement? I think this is worth considering. - PR Comment: https://git.openjdk.org/jfx/pull/1652#issuecomment-2581060316

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Andy Goryachev
On Wed, 8 Jan 2025 23:47:10 GMT, Michael Strauß 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

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Michael Strauß
On Thu, 9 Jan 2025 18:59:39 GMT, Andy Goryachev wrote: > `nth-child()` probably makes sense in the web world, but not in javafx, in my > opinion. > > Can you give an example of where it can be useful? > > I also recall how it was snuck in into original PR, which started with a > `:root`. Mayb

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Andy Goryachev
On Wed, 8 Jan 2025 23:47:10 GMT, Michael Strauß 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

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Michael Strauß
On Wed, 8 Jan 2025 23:47:10 GMT, Michael Strauß 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

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Andy Goryachev
On Wed, 8 Jan 2025 23:47:10 GMT, Michael Strauß 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

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Kevin Rushforth
On Thu, 9 Jan 2025 17:37:28 GMT, Kevin Rushforth wrote: > This is bit of a corner case... And I confirm that there is no performance hit for the more common case of adding children at the end. - PR Comment: https://git.openjdk.org/jfx/pull/1652#issuecomment-2580972244

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Kevin Rushforth
On Wed, 8 Jan 2025 23:47:10 GMT, Michael Strauß 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

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-09 Thread Andy Goryachev
On Wed, 8 Jan 2025 23:47:10 GMT, Michael Strauß 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

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-08 Thread Kevin Rushforth
On Wed, 8 Jan 2025 23:47:10 GMT, Michael Strauß 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

Re: RFR: 8345188: Support tree-structural pseudo-classes [v10]

2025-01-08 Thread Michael Strauß
> 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 compatibil