RFR: 8336097: UserAgent Styles using lookups are promoted to Author level if look-up is defined in Author stylesheet [v2]
Kevin Rushforth
kcr at openjdk.org
Tue Jul 16 18:38:56 UTC 2024
On Mon, 15 Jul 2024 12:10:27 GMT, John Hendrikx <jhendrikx at openjdk.org> wrote:
>> This change removes the origin determination from `resolveLookups`. Instead, the origin from the style is used.
>>
>> Although a comment in the code alluded that this may cause problem with `INLINE` styles, this is not the case. Whenever a `Node` is associated with a `CssStyleHelper`, a suitable shared cache is determined for its use. This already takes into account the presence of an inline style, and only nodes with the same inline style can share such a cache. See `Cache#getStyleMap` and specifically this fragment where an additional selector is added for the inline style:
>>
>> if (hasInlineStyle) {
>> Selector selector = cacheContainer.getInlineStyleSelector(inlineStyle);
>> if (selector != null) selectors.add(selector);
>> }
>
> John Hendrikx has updated the pull request incrementally with one additional commit since the last revision:
>
> Add test case
The fix looks good, presuming that you are correct, and that the comment about needing to set the origin of the parsed value to the greatest of any resolved reference in order to avoid storing an inline style in the shared cache is in fact wrong. Testing should help catch any potential problems.
The new unit test looks like it covers all the cases. As with PR #1505, this PR mixes JUnit 4 and JUnit 5, which we really don't want to do in the same test class. Consider converting the entire class to JUnit 5, perhaps in #1505.
-------------
PR Comment: https://git.openjdk.org/jfx/pull/1503#issuecomment-2231564853
More information about the openjfx-dev
mailing list