/* * FCKeditor - The text editor for Internet - http://www.fckeditor.net * Copyright (C) 2003-2007 Frederico Caldeira Knabben * * == BEGIN LICENSE == * * Licensed under the terms of any of the following licenses at your * choice: * * - GNU General Public License Version 2 or later (the "GPL") * http://www.gnu.org/licenses/gpl.html * * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") * http://www.gnu.org/licenses/lgpl.html * * - Mozilla Public License Version 1.1 or later (the "MPL") * http://www.mozilla.org/MPL/MPL-1.1.html * * == END LICENSE == * * File Name: fckiecleanup.js * FCKIECleanup Class: a generic class used as a tool to remove IE leaks. * * File Authors: * Frederico Caldeira Knabben (fredck@fckeditor.net) */ var FCKIECleanup = function( attachWindow ) { this.Items = new Array() ; attachWindow._FCKCleanupObj = this ; attachWindow.attachEvent( 'onunload', FCKIECleanup_Cleanup ) ; } FCKIECleanup.prototype.AddItem = function( dirtyItem, cleanupFunction ) { this.Items.push( [ dirtyItem, cleanupFunction ] ) ; } function FCKIECleanup_Cleanup() { var aItems = this._FCKCleanupObj.Items ; var iLenght = aItems.length ; for ( var i = 0 ; i < iLenght ; i++ ) { var oItem = aItems[i] ; oItem[1].call( oItem[0] ) ; aItems[i] = null ; } this._FCKCleanupObj = null ; if ( CollectGarbage ) CollectGarbage() ; }