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

ScientificWare duke at openjdk.org
Wed Aug 16 09:55:40 UTC 2023


> 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

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

Changes: https://git.openjdk.org/jdk/pull/10317/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10317&range=14
  Stats: 127 lines in 2 files changed: 92 ins; 16 del; 19 mod
  Patch: https://git.openjdk.org/jdk/pull/10317.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/10317/head:pull/10317

PR: https://git.openjdk.org/jdk/pull/10317


More information about the client-libs-dev mailing list