[ 
https://issues.apache.org/jira/browse/BATIK-1149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Olin updated BATIK-1149:
------------------------------
    Description: 
*Synopsis*
Per http://www.w3schools.com/cssref/css_colors_legal.asp:
{quote}
RGB color values are supported in all major browsers.

An RGB color value is specified with: rgb(red, green, blue). Each parameter 
(red, green, and blue) defines the intensity of the color and can be an integer 
between 0 and 255 or a percentage value (from 0% to 100%).

For example, the rgb(0,0,255) value is rendered as blue, because the blue 
parameter is set to its highest value (255) and the others are set to 0.

Also, the following values define equal color: rgb(0,0,255) and rgb(0%,0%,100%).
{quote}.
In batik-css-1.7 and 1.8, the CSSLexicalUnit.getIntegerValue method throws an 
IllegalStateException when defining the rgb value using percentages. Example 
code below:

{code}
<span style="color: rgb(10%,10%,80%)">foo</span>
{code}

*Additional info*
https://github.com/bobpaulin/owaspantisamy/issues/189

*Stack trace*
{noformat}
Caused by: java.lang.IllegalStateException
        at 
org.apache.batik.css.parser.CSSLexicalUnit.getIntegerValue(CSSLexicalUnit.java:119)
        at 
org.owasp.validator.css.CssValidator.lexicalValueToString(CssValidator.java:379)
        at 
org.owasp.validator.css.CssValidator.isValidProperty(CssValidator.java:98)
        at org.owasp.validator.css.CssHandler.property(CssHandler.java:484)
        at 
org.apache.batik.css.parser.Parser.parseStyleDeclaration(Parser.java:885)
        at 
org.apache.batik.css.parser.Parser.parseStyleDeclarationInternal(Parser.java:269)
        at 
org.apache.batik.css.parser.Parser.parseStyleDeclaration(Parser.java:1694)
        at 
org.owasp.validator.css.CssScanner.scanInlineStyle(CssScanner.java:204)
        at 
org.owasp.validator.html.scan.MagicSAXFilter.startElement(MagicSAXFilter.java:283)
        at 
org.cyberneko.html.HTMLTagBalancer.callStartElement(HTMLTagBalancer.java:1141)
        at 
org.cyberneko.html.HTMLTagBalancer.startElement(HTMLTagBalancer.java:746)
        at 
org.cyberneko.html.HTMLScanner$ContentScanner.scanStartElement(HTMLScanner.java:2701)
        at 
org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:2057)
        at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:917)
        at 
org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:499)
        at 
org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:452)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at 
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485)
        at 
org.owasp.validator.html.scan.AntiSamySAXScanner.scan(AntiSamySAXScanner.java:126)
        ... 213 more
{noformat}

  was:
*Synopsis*
Per http://www.w3schools.com/cssref/css_colors_legal.asp:
{quote}
RGB color values are supported in all major browsers.

An RGB color value is specified with: rgb(red, green, blue). Each parameter 
(red, green, and blue) defines the intensity of the color and can be an integer 
between 0 and 255 or a percentage value (from 0% to 100%).

For example, the rgb(0,0,255) value is rendered as blue, because the blue 
parameter is set to its highest value (255) and the others are set to 0.

Also, the following values define equal color: rgb(0,0,255) and rgb(0%,0%,100%).
{quote}.
In batik-css-1.7 and 1.8, the CSSLexicalUnit.getIntegerValue method throws an 
IllegalStateException when defining the rgb value using percentages. Example 
code below:

{code}
<span style="color: rgb(10%,10%,80%)">foo</span>
{code}

*Additional info*
https://github.com/bobpaulin/owaspantisamy/issues/189


> CSSLexicalUnit.getIntegerValue throws ISE when parsing RGB percentages
> ----------------------------------------------------------------------
>
>                 Key: BATIK-1149
>                 URL: https://issues.apache.org/jira/browse/BATIK-1149
>             Project: Batik
>          Issue Type: Bug
>          Components: CSS
>    Affects Versions: 1.7, 1.8
>            Reporter: Chris Olin
>
> *Synopsis*
> Per http://www.w3schools.com/cssref/css_colors_legal.asp:
> {quote}
> RGB color values are supported in all major browsers.
> An RGB color value is specified with: rgb(red, green, blue). Each parameter 
> (red, green, and blue) defines the intensity of the color and can be an 
> integer between 0 and 255 or a percentage value (from 0% to 100%).
> For example, the rgb(0,0,255) value is rendered as blue, because the blue 
> parameter is set to its highest value (255) and the others are set to 0.
> Also, the following values define equal color: rgb(0,0,255) and 
> rgb(0%,0%,100%).
> {quote}.
> In batik-css-1.7 and 1.8, the CSSLexicalUnit.getIntegerValue method throws an 
> IllegalStateException when defining the rgb value using percentages. Example 
> code below:
> {code}
> <span style="color: rgb(10%,10%,80%)">foo</span>
> {code}
> *Additional info*
> https://github.com/bobpaulin/owaspantisamy/issues/189
> *Stack trace*
> {noformat}
> Caused by: java.lang.IllegalStateException
>       at 
> org.apache.batik.css.parser.CSSLexicalUnit.getIntegerValue(CSSLexicalUnit.java:119)
>       at 
> org.owasp.validator.css.CssValidator.lexicalValueToString(CssValidator.java:379)
>       at 
> org.owasp.validator.css.CssValidator.isValidProperty(CssValidator.java:98)
>       at org.owasp.validator.css.CssHandler.property(CssHandler.java:484)
>       at 
> org.apache.batik.css.parser.Parser.parseStyleDeclaration(Parser.java:885)
>       at 
> org.apache.batik.css.parser.Parser.parseStyleDeclarationInternal(Parser.java:269)
>       at 
> org.apache.batik.css.parser.Parser.parseStyleDeclaration(Parser.java:1694)
>       at 
> org.owasp.validator.css.CssScanner.scanInlineStyle(CssScanner.java:204)
>       at 
> org.owasp.validator.html.scan.MagicSAXFilter.startElement(MagicSAXFilter.java:283)
>       at 
> org.cyberneko.html.HTMLTagBalancer.callStartElement(HTMLTagBalancer.java:1141)
>       at 
> org.cyberneko.html.HTMLTagBalancer.startElement(HTMLTagBalancer.java:746)
>       at 
> org.cyberneko.html.HTMLScanner$ContentScanner.scanStartElement(HTMLScanner.java:2701)
>       at 
> org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:2057)
>       at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:917)
>       at 
> org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:499)
>       at 
> org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:452)
>       at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>       at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
>       at 
> org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485)
>       at 
> org.owasp.validator.html.scan.AntiSamySAXScanner.scan(AntiSamySAXScanner.java:126)
>       ... 213 more
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to