Tapestry leaks memory in IE. I'm using Tap 4.0.2. I did some research and
like to share it with you. The leaks may be more than I listed here as I did
not use client side validation on forms.

Tapestry form and DatePicker leak memory IE, here is what I did to remove
the leaks.

// the following code is to hack IE memory leaks.
if (typeof Calendar=="function") {
   var tap_calendar_create=Calendar.prototype.create;
   Calendar.prototype.create=function() {
       tap_calendar_create.call(this);
       dojo.event.browser.addClobberNodeAttrs
(this._previousMonth,["onclick"]);
       dojo.event.browser.addClobberNodeAttrs(this._nextMonth,["onclick"]);
       dojo.event.browser.addClobberNodeAttrs
(this._todayButton,["onclick"]);
       dojo.event.browser.addClobberNodeAttrs
(this._clearButton,["onclick"]);
       dojo.event.browser.addClobberNodeAttrs
(this._calDiv,["onselectstart","onkeydown","onmousewheel"]);
       dojo.event.browser.addClobberNodeAttrs(this._table,["onclick"]);
       dojo.event.browser.addClobberNodeAttrs
(this._monthSelect,["onchange","onclick"]);
       dojo.event.browser.addClobberNodeAttrs
(this._yearSelect,["onchange"]);
       return this._calDiv;
   };
}

if (typeof Tapestry=="object") {
   Tapestry.register_form = function(formId)
   {
     var form = this.find(formId);

     form.events = new FormEventManager(form);
     dojo.event.browser.addClobberNodeAttrs
(form,["events","onsubmit","onreset"]);
   };
}


Best Regards,
Cliff Zhao

Reply via email to