rem: self.removeAttribute(functionName); 
add: if (self.removeAttribute) self.removeAttribute(functionName); 
context: 	return function(arg1, arg2, arg3) {		/* Because of the self-altering nature of the overridden functions, the value		 * of "this" must be preserved for the callback notification		 */		var self = this;		/* This function cannot save a reference to the native function. Otherwise,		 * if the node is cloned, it will return a reference to the wrong function.		 * Thus, obtain a reference native function dynamically.		 *		 * Remove the Override Function for a while; This will expose again the		 * underlying native function. During the execution of the native function		 * it seems that the override may not exist. 		 */		self.removeAttribute(functionName);		var result = self[functionName](arg1, arg2, arg3);		self[functionName] = arguments.callee; // Finally restore the Override Function		__drip_onFunctionCall(self, functionName, result);		return result;	}
meta: 1992	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/1992/0673ea6953d4e2842500f3dc049df99876b1bee8/drip.js/buggy/drip/src/res/drip.js