rem: } catch(e) { } this.mInitializing = false; 
add:   this.addObserver(this.mObserver, calICalendar.ITEM_FILTER_TYPE_ALL); 
context:     onStreamComplete: function(loader, ctxt, status, resultLength, result)    {        // XXX ?? Is this ok?        this.mItems = new Array();        var unicodeConverter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]                                         .createInstance(Components.interfaces.nsIScriptableUnicodeConverter);        // ics files are always utf8        unicodeConverter.charset = "UTF-8";        var str = unicodeConverter.convertFromByteArray(result, result.length);        // Wrap parsing in a try block. Will ignore errors. That's a good thing        // for non-existing or empty files, but not good for invalid files.        // We should not accidently overwrite third party files.        // XXX Fix that        try {            var calComp = this.mICSService.parseICS(str);            // XXX also getting VTODO would be nice            var subComp = calComp.getFirstSubcomponent("VEVENT");            while (subComp) {                var event = Components.classes["@mozilla.org/calendar/event;1"]                                      .createInstance(Components.interfaces.calIEvent);                event.icalComponent = subComp;                this.addItem(event, null);                subComp = calComp.getNextSubcomponent("VEVENT");            }        } catch(e) { }        this.mInitializing = false;        this.observeOnLoad();    },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/32a94ac17bfa3cd3e06bb22dfa1da43c5f1b6b5a/calICSCalendar.js/clean/calendar/providers/ics/calICSCalendar.js