rem: var ch = Channel.QueryInterface(Components.interfaces.nsIHttpChannel); if (!ch.requestSucceeded) { 
add: var ch; try { ch = loader.request.QueryInterface(Components.interfaces.nsIHttpChannel); } catch(e) { } if (ch && !ch.requestSucceeded) { 
context:       onStreamComplete: function(loader, ctxt, status, resultLength, result)      {         window.setCursor( "default" );         var retval = false;         if( typeof( result ) != "string" ) //for 1.7 compatibility             result = String.fromCharCode.apply(this, result);         var ch = Channel.QueryInterface(Components.interfaces.nsIHttpChannel);         if (!ch.requestSucceeded) {           alert("Getting the calendar file failed.\nStatus code: "+ch.responseStatus+": "+ch.responseStatusText);         }         //check to make sure its actually a calendar file, if not return.         else if( result.indexOf( "BEGIN:VCALENDAR" ) == -1 )         {            alert( "This doesn't appear to be a valid file. Here's what I got back from\n"+Channel.URI.spec+":\nResult:"+result );         } else {             onResponse( result );             retval = true;         }         if( gNextSubNodeToRefresh )            gCalendarWindow.calendarManager.refreshAllRemoteCalendars();         return retval;      }
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/6fea229029834b5313b4025ab3acb0f06e0fd5be/calendarManager.js/clean/calendar/resources/content/calendarManager.js