[ https://issues.apache.org/jira/browse/MYFACES-4120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16041799#comment-16041799 ]
Leonardo Uribe commented on MYFACES-4120: ----------------------------------------- But if isRenderAll() renders the whole view including replace all content inside <head> tag, right? Even if isResourceRendered() return true, the whole view will be replaced. It doesn't sound like a bug to me, or am I missing something? > ResourceHandler#markResourceRendered() should be retained during ajax rebuild > ----------------------------------------------------------------------------- > > Key: MYFACES-4120 > URL: https://issues.apache.org/jira/browse/MYFACES-4120 > Project: MyFaces Core > Issue Type: Bug > Affects Versions: 2.3.0 > Environment: TomEE 7.0.3 with MyFaces 2.3.0-SNAPSHOT > Reporter: Bauke Scholtz > > While running OmniFaces IT suite on today's MyFaces 2.3.0-SNAPSHOT, I noticed > a bug in ResourceHandler#isResourceRendered() during an ajax navigation back > to the same view (more specifically, when FacesContext#setViewRoot() is > invoked with a new UIViewRoot of same viewId during an ajax postback). > During restore view phase, all already-rendered resources are correctly > marked via markResourceRendered(). However, this is in turn stored as a > transient UIViewRoot attribute. As a consequence, when the UIViewRoot gets > changed during the very same ajax request, they are all lost, causing > isResourceRendered() to incorrectly return false. > Basically, the markResourceRendered() of the previous view should be > remembered for the next view when PartialViewContext#isAjaxRequest() returns > true and isRenderAll() returns false. > In MyFaces 2.2 (and possibly earlier) the behavior of markResourceRendered() > and isResourceRendered() was internally correctly implemented via > org.apache.myfaces.RENDERED_SCRIPT_RESOURCES_SET context attribute. -- This message was sent by Atlassian JIRA (v6.3.15#6346)