rem: EchoWebCore.EventProcessor._processEvent = function(e) { e = e ? e : window.event; if (!e.target && e.srcElement) {   e.target = e.srcElement; } 
add: _processEvent: function(e) { e = e ? e : window.event; if (!e.target && e.srcElement) {   e.target = e.srcElement; }     var elementAncestry = new Array(); var targetElement = e.target; while (targetElement) { if (targetElement.__eventProcessorId) { elementAncestry.push(targetElement); } targetElement = targetElement.parentNode; } 
context: EchoWebCore.EventProcessor._processEvent = function(e) {    e = e ? e : window.event;    if (!e.target && e.srcElement) {        // The Internet Explorer event model stores the target element in the 'srcElement' property of an event.        // Modify the event such the target is retrievable using the W3C DOM Level 2 specified property 'target'.        e.target = e.srcElement;    }        // Establish array containing elements ancestry, with index 0 containing     // the element and the last index containing its most distant ancestor.      // Only record elements that have ids.    var elementAncestry = new Array();    var targetElement = e.target;    while (targetElement) {        if (targetElement.__eventProcessorId) { // Element Node with identifier.            elementAncestry.push(targetElement);        }        targetElement = targetElement.parentNode;    }    var listenerList;        var propagate = true;        // Fire event to capturing listeners.    for (var i = elementAncestry.length - 1; i >= 0; --i) {        listenerList = EchoWebCore.EventProcessor._capturingListenerMap.map[elementAncestry[i].__eventProcessorId];        if (listenerList) {            // Set registered target on event.            e.registeredTarget = elementAncestry[i];            if (!listenerList.fireEvent(e)) {                propagate = false;            }        }        if (!propagate) {            // Stop propagation if requested.            break;        }    }        if (propagate) {        // Fire event to bubbling listeners.        for (var i = 0; i < elementAncestry.length; ++i) {            listenerList = EchoWebCore.EventProcessor._bubblingListenerMap.map[elementAncestry[i].__eventProcessorId];            // Set registered target on event.            e.registeredTarget = elementAncestry[i];            if (listenerList) {                if (!listenerList.fireEvent(e)) {                    propagate = false;                }            }            if (!propagate) {                // Stop propagation if requested.                break;            }        }    }            if (!propagate) {        //FIXME Possibly always invoke this to avoid bug #71 propagation issue.        // Inform DOM to stop propagation of event.        EchoWebCore.DOM.stopEventPropagation(e);    }};
meta: 600	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/600/4705113f80e2c9e4d43ad240349e3193f4caf648/WebCore.js/clean/src/webcontainer/java/nextapp/echo/webcontainer/resource/js/WebCore.js