myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Werner Punz (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Commented] (MYFACES-3835) ViewState gets truncated on chrome with richfaces fileupload component
Date Thu, 19 Dec 2013 19:49:07 GMT

    [ https://issues.apache.org/jira/browse/MYFACES-3835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13853213#comment-13853213
] 

Werner Punz commented on MYFACES-3835:
--------------------------------------

The fix would be to use this._Dom.concatCDATABlocks(node); instead of node.firstChild.nodeValue;

> ViewState gets truncated on chrome with richfaces fileupload component
> ----------------------------------------------------------------------
>
>                 Key: MYFACES-3835
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3835
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.1.11, 2.1.13
>         Environment: Windows XP, Chrome 31.0.1650.63 m (latest at this moment), tomcat
7.0.37, client state saving, myfaces 2.1.11, richfaces 4.3.1.Final
>            Reporter: Ricardo Tercero Lozano
>         Attachments: FileUploadBean.class, FileUploadBean.java, imgUpload-sample.xhtml,
web.xml
>
>
> On certain conditions viewstate gets corrupted (truncated).
> I've got a page with a richfaces fileupload component. The page works well on IE7 and
Firefox (latest), but not in chrome. Digging into Javascript and Ajax response I got some
extra info about the problem. I don't know why, but a partial response like:
> <?xml version="1.0" encoding="utf-8"?><partial-response><changes><update
id="javax.faces.ViewState"><![CDATA[....
> results in two CDATA sections when handling the response. This is the problem caused
by Google Chrome. Inspecting the JSF.JS library, the line that gets de updated view state
is:
> mfInternal.appliedViewState = node.firstChild.nodeValue;
> This line is in 'processUpdate' method. When Chrome, for some reason splits the original
CDATA block into two, that line only updates the first section, obtaining a truncated viewState
and ViewExpiredException in next request.
> The first CDATA section created by Google Chrome has 300 bytes. Weird, but searching
Google for 'Chrome cdata 300' appears to be a libxml2 problem.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Mime
View raw message