add:  var notificationCallbacks = {  getInterface: function(iid, instance) { if (iid.equals(Components.interfaces.nsIAuthPrompt)) {  var ww = Components.classes["@mozilla.org/embedcomp/window-watcher;1"] .getService(Components.interfaces.nsIWindowWatcher); return ww.getNewAuthPrompter(null); } Components.returnCode = Components.results.NS_ERROR_NO_INTERFACE; return null; }, }  Channel.notificationCallbacks = notificationCallbacks; 
context: calendarManager.prototype.getRemoteCalendarText = function calMan_getRemoteCalendarText( Channel, onResponse, onError ){   var Listener =   {      onStreamComplete: function(loader, ctxt, status, resultLength, result)      {         window.setCursor( "default" );         var retval = false;         result = String.fromCharCode.apply(this, result);         //check to make sure its actually a calendar file, if not return.         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;      }   }      var myInstance = Components.classes["@mozilla.org/network/stream-loader;1"].createInstance(Components.interfaces.nsIStreamLoader);   dump( "init channel, \nChannel is "+Channel+"\nURL is "+Channel.URI.spec+"\n" );   window.setCursor( "wait" );   myInstance.init( Channel, Listener, null );}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/58ff24eb3442a99dc4ae0b5e8da801a490834202/calendarManager.js/clean/calendar/resources/content/calendarManager.js