Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.0.0-beta-2
-
None
Description
Certain tree visits, such as the PostRestoreStateEvent delivery visit, must avoid iteration in stamping components (eg. UIData). Before the fix for:
TRINIDAD-2030 Honor SKIP_ITERATION FacesContext property
This was handled in UIXComponent.visitChildren() by checking for the restore view phase.
As of the fix for 2030, instead of checking the phase id we now check for the SKIP_ITERATION pseudo-hint.
While this works correctly for the PostRestoreStateEvent visit, it fails in other cases. The problem: UIXComponent.visitChildren() falls back on a "facets and children" traversal when SKIP_ITERATION is set, which means that we will visit all children (both rendered and non-rendered) even when the SKIP_UNRENDERED hint is set.
Thus, the combination of SKIP_ITERATION and SKIP_UNRENDERED is not correctly supported with our current solution. Since this is a valid combination of hints, we'll need an approach that correctly supports this.