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

Udo Schnurpfeil resolved TOBAGO-1390.
-------------------------------------

    Resolution: Fixed

> "Can't parse to any measure"
> ----------------------------
>
>                 Key: TOBAGO-1390
>                 URL: https://issues.apache.org/jira/browse/TOBAGO-1390
>             Project: MyFaces Tobago
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0.0-beta-2
>         Environment: Firefox 28.0
>            Reporter: Bernhard Stadler
>            Assignee: Udo Schnurpfeil
>             Fix For: 2.0.0-beta-3
>
>
> In our application, there are frequent occurences of 
> IllegalArgumentExceptions in  org.apache.myfaces.tobago.layout.Measure line 
> 79 (function valueOf(String)), which is being called by 
> org.apache.myfaces.tobago.renderkit.PageRendererBase line 86 (function 
> decodePageState(FacesContext, AbstractUIPage)). 
> I wasn't able to create a reproducing example, but I have been able to 
> isolate the conditions and causes under which this happens in our application:
> Apparently it is caused by JavaScript code (tobago.js, storeClientDimension) 
> sending decimal values (e.g. "1298.4px") as positions or dimensions. 
> Measure.valueOf only checks whether the String received ends with "px" and 
> removes it if necessary, but doesn't have any means to handle decimals.
> In the JavaScript code, I found out that the non-integer value stems from the 
> following lines in function augmentWidthOrHeight( elem, name, extra, 
> isBorderBox, styles ) in  jquery-1.10.2.js:
> {code}
> // at this point, extra isn't border nor margin, so remove border
> if ( extra !== "margin" ) {
>   val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles 
> );
> }
> {code}
> Removing the following lines from our CSS file seems to stop the errors from 
> occurring:
> {code}
> .tobago-page {
>     width: 90%;
>     height: 99%;
>     // ...
> }
> {code}
> I'm not sure whether this is a correct use of CSS but I guess it shouldn't 
> cause a RuntimeException, especially as it is caused by unsanitized client 
> data. 
> I don't know what the best course of action might be:
> a) Change the JavaScript code to remove decimal places
> b) Change Measure to remove decimal places
> c) Change Measure to actually store decimals instead of integers



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to