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

Martin Grigorov reassigned WICKET-4975:
---------------------------------------

    Assignee: Martin Grigorov
    
> client side memory leak on  date picker
> ---------------------------------------
>
>                 Key: WICKET-4975
>                 URL: https://issues.apache.org/jira/browse/WICKET-4975
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-datetime
>    Affects Versions: 1.4.21, 1.5.8, 6.4.0
>         Environment: any
>            Reporter: Ernesto Reinaldo Barreiro
>            Assignee: Martin Grigorov
>            Priority: Minor
>         Attachments: datepicker-1.5.tar.gz, datepicker.tar.gz, 
> WICKET-4975.patch, WICKET-4975.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> Under certain conditions date picker component leaks memory  at client side. 
> More concretely DatePicker#renderHead tries to clean up existing date pickers 
> via
> AjaxRequestTarget target = 
> component.getRequestCycle().find(AjaxRequestTarget.class);
>               if (target != null)
>               {
>                       String escapedComponentMarkupId = 
> getEscapedComponentMarkupId();
>                       String javascript = "var e = Wicket.$('" + 
> escapedComponentMarkupId + "Dp" +
>                               "'); if (e != null && typeof(e.parentNode) != 
> 'undefined' && " +
>                               "typeof(e.parentNode.parentNode != 
> 'undefined')) {" +
>                               
> "e.parentNode.parentNode.removeChild(e.parentNode);" + "YAHOO.wicket." +
>                               escapedComponentMarkupId + "DpJs.destroy(); 
> delete YAHOO.wicket." +
>                               escapedComponentMarkupId + "DpJs;}";
>                       target.prependJavaScript(javascript);
>               }
> but this fails if "panel" containing date pickers is completely replaced via 
> AJAX. E.g. for date pickers placed on an AJAX navigated repeater. The result 
> is that client side object
> YAHOO.wicket
> object grows and grows... and for
> 1- Wicket 1.5.x and wicket 1.4.x this means time for creating new date 
> pickers grows steadily.
> 2- For wicket 1.6.x there seems not to have any performance hindrance  (only 
> the memory leak).
> I attach quick starts demonstrating this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to