[jira] [Commented] (MYFACES-4120) ResourceHandler#markResourceRendered() should be retained during ajax rebuild

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (MYFACES-4120) ResourceHandler#markResourceRendered() should be retained during ajax rebuild

My Faces - Dev mailing list

    [ 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)