rem: case "VTODOnot": 
add: case "VTODO": 
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        // XXX try disabled for debugging all the other possible problems.        //     that's more important then file at the moment.        //try {            var calComp = this.mICSService.parseICS(str);            // Get unknown properties            var prop = calComp.getFirstProperty("ANY");            while (prop) {                if (!this.calendarPromotedProps[prop.propertyName]) {                    this.unmappedProperties.push(prop);                    dump(prop.propertyName+"\n");                }                prop = calComp.getNextProperty("ANY");            }            var subComp = calComp.getFirstSubcomponent("ANY");            while (subComp) {                switch (subComp.componentType) {                case "VEVENT":                    var event = Components.classes["@mozilla.org/calendar/event;1"]                                          .createInstance(Components.interfaces.calIEvent);                    event.icalComponent = subComp;                    this.addItem(event, null);                    break;                case "VTODOnot":                    // XXX Last time i tried, vtodo didn't work. Sadly no time to                    // debug now.                    var todo = Components.classes["@mozilla.org/calendar/todo;1"]                                         .createInstance(Components.interfaces.calITodo);                    todo.icalComponent = subComp;                    this.addItem(todo, null);                    break;                default:                    this.unmappedComponents.push(subComp);                    dump(subComp.componentType+"\n");                }                subComp = calComp.getNextSubcomponent("ANY");            }                    //} catch(e) { dump(e+"\n");}        this.addObserver(this.mObserver, calICalendar.ITEM_FILTER_TYPE_ALL);        this.observeOnLoad();    },
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/fb7af0311acfca50056349ae2d64ad1c6aa53ae2/calICSCalendar.js/buggy/calendar/providers/ics/calICSCalendar.js