RFR: JDK-8293776 : Adds CSS 4 and 8 digits hex coded Color [v15]

Phil Race prr at openjdk.org
Thu Aug 17 18:04:32 UTC 2023


On Wed, 16 Aug 2023 09:55:40 GMT, ScientificWare <duke at openjdk.org> wrote:

>> This is referenced in Java Bug Database as
>> - [JDK-8293776 : Adds CSS 4 and 8 digits hex coded Color](https://bugs.java.com/bugdatabase/view_bug?bug_id=8293776)
>> 
>> This is tracked in JBS as 
>> - [JDK-8293776 : Adds CSS 4 and 8 digits hex coded Color](https://bugs.openjdk.java.net/browse/JDK-8293776)
>> 
>> Adds the 4 and 8 digits color hex notations to CSS.java, as described in :
>> CSS Color Module Level 4
>> W3C Candidate Recommendation Snapshot, 5 July 2022
>> [6.2 The RGB Hexadecimal Notations: `#RRGGBB`](https://www.w3.org/TR/css-color-4/#hex-notation)
>> 
>> Designed from : [ScientificWare JDK-8293776 : Adds CSS 4 and 8 digits hex coded Color](https://github.com/scientificware/jdk/issues/13)
>
> ScientificWare has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 30 commits:
> 
>  - Merge branch 'openjdk:master' into scientificware-patch-003-CSS-add_4_8_digits_hex_coded_color
>  - Merge branch 'master'
>    
>    CSS.java :
>    Removes assigning values inside the if-condition
>    Extracts the assignments into separate line.
>    
>    Hex3468DigitsColor.java :
>    Adds a message to result in case of failure only
>  - Updates copyright date.
>    
>    Updates copyright date to 2023.
>  - Updates copyright date.
>    
>    Updates copyright date to 2023.
>  - Update imports
>    
>    Remove java.util.Pattern and add java.util.Map imports
>  - Performance improvement
>    
>    Performance results came from my repository I mentioned in the header.
>    
>        The code before this PR ran in 230ms.
>        Our previous codes ran in 1 200ms to 1800 ms with String + formatted + %n$s usage.
>        They ran in 350ms to 380ms with String + formatted + %s usage.
>        And in 100ms to 110ms if we replace String + format with a string concatenation.
>        Now the code below gives the same results in 36ms and with all our expected behaviors. Since we control notation length we
>            can bypass some controls,
>            directly generate the color value,
>            without generate a new string,
>            and reject a wrong number format without generate any exception.
>  - Corrects a value in a message.
>    
>    A message is added to the result in case of failure only. The updated code does not output the actual value. The tested color is #f12a instead of #f00a.
>  - Simplifications of the test.
>    
>    Removes individual color tests and only compares the RGB value.
>  - Renames an identifier.
>    
>    Suggested change, not to use `l` as an identifier because it could be confused with `1`.
>    This part of code could change and be replaced by bits right rotation after  performance tests.
>  - Corrects Licence Header.
>    
>    Removes Classpath exception.
>  - ... and 20 more: https://git.openjdk.org/jdk/compare/b80001de...0dbd8f0f

Back in Feb I wrote 
> As noted there, this PR likely needs to be withdrawn and absorbed into https://github.com/openjdk/jdk/pull/9825

Nothing has changed on that front, so I don't know why you re-opened this.

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

PR Comment: https://git.openjdk.org/jdk/pull/10317#issuecomment-1682731619


More information about the client-libs-dev mailing list