RFR: JDK-8292276 : Add named colors from CSS Color Module Level 4 [v36]

ScientificWare duke at openjdk.org
Thu Aug 17 23:13:51 UTC 2023


> This is referenced in Java Bug Database as
> - [JDK-8292276 : Add named colors from CSS Color Module Level 4](https://bugs.java.com/bugdatabase/view_bug?bug_id=8292276)
> 
> This is tracked in JBS as 
> - [JDK-8292276 : Add named colors from CSS Color Module Level 4](https://bugs.openjdk.java.net/browse/JDK-8292276)
> 
> Adds missing color names, defined by CSS Level 4, in CSS.java :
> CSS Color Module Level 4
> W3C Candidate Recommendation Snapshot, 5 July 2022
> [7.1 Named Colors](https://www.w3.org/TR/css-color-4/#named-color)
> 
> Designed from : [ScientificWare JDK-8292276 : Add named colors from CSS Color Module Level 4](https://github.com/scientificware/jdk/issues/12)

ScientificWare has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 51 commits:

 - Merge scientificware-patch-003-CSS-add_4_8_digits_hex_coded_color
   
   # Conflicts:
   #	src/java.desktop/share/classes/javax/swing/text/html/CSS.java
 - Merge master
 - 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.
 - ... and 41 more: https://git.openjdk.org/jdk/compare/a8ab3be3...6a6af622

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

Changes: https://git.openjdk.org/jdk/pull/9825/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=9825&range=35
  Stats: 560 lines in 4 files changed: 466 ins; 16 del; 78 mod
  Patch: https://git.openjdk.org/jdk/pull/9825.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/9825/head:pull/9825

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


More information about the client-libs-dev mailing list