 else if (!cwin || !cwin.location || (cwin.location.href != "about:blank")) {   dd("Couldn't find a content window or its initOutputWindow " + "function. This is BAD!"); } 
function client_statechange (webProgress, request, stateFlags, status){    const nsIWebProgressListener = Components.interfaces.nsIWebProgressListener;    const START = nsIWebProgressListener.STATE_START;    const STOP = nsIWebProgressListener.STATE_STOP;    const IS_NETWORK = nsIWebProgressListener.STATE_IS_NETWORK;    const IS_DOCUMENT = nsIWebProgressListener.STATE_IS_DOCUMENT;    var frame;    // We only care about the initial start of loading, not the loading of    // and page sub-components (IS_DOCUMENT, etc.).    if ((stateFlags & START) && (stateFlags & IS_NETWORK) &&        (stateFlags & IS_DOCUMENT))    {        frame = getFrameForDOMWindow(webProgress.DOMWindow);        if (!frame)        {            dd("can't find frame for window (start)");            try            {                webProgress.removeProgressListener(this);            }            catch(ex)            {                dd("Exception removing progress listener (start): " + ex);            }        }    }    // We only want to know when the *network* stops, not the page's    // individual components (STATE_IS_REQUEST/STATE_IS_DOCUMENT/somesuch).    else if ((stateFlags & STOP) && (stateFlags & IS_NETWORK))    {        frame = getFrameForDOMWindow(webProgress.DOMWindow);        if (!frame)        {            dd("can't find frame for window (stop)");            try            {                webProgress.removeProgressListener(this);            }            catch(ex)            {                dd("Exception removing progress listener (stop): " + ex);            }        }        else        {            var cwin = getContentWindow(frame);            if (cwin && "initOutputWindow" in cwin)            {                cwin.getMsg = getMsg;                cwin.initOutputWindow(client, frame.source, onMessageViewClick);                cwin.changeCSS(frame.source.getFontCSS("data"), "cz-fonts");                scrollDown(frame, true);                try                {                    webProgress.removeProgressListener(this);                }                catch(ex)                {                    dd("Exception removing progress listener (done): " + ex);                }            }        }    }}
5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5459/2fe82e08f87671b1a5f5e6648549a7ad6ecc79ea/static.js/clean/extensions/irc/xul/content/static.js