add: chan.contentType = special_type; 
context: function test_upload_file() {  dump("*** test_upload_file\n");  var file = getFile("XpcomLib");  // file to upload  var dest = getFile("TmpD");      // file upload destination  dest.append("junk.dat");  dest.createUnique(dest.NORMAL_FILE_TYPE, 0600);  var uploadstream = new_file_input_stream(file, true);  var chan = new_file_channel(dest);  chan.QueryInterface(Ci.nsIUploadChannel);  chan.setUploadStream(uploadstream, "", file.fileSize);  function on_upload_complete(data) {    dump("*** test_upload_file.on_upload_complete\n");    /* upload of file completed successfully. */    if (data.length != 0)      do_throw("Upload resulted in data!");    var oldstream = new_file_input_stream(file, false);       var newstream = new_file_input_stream(dest, false);       var olddata = read_stream(oldstream, oldstream.available());    var newdata = read_stream(newstream, newstream.available());    if (olddata != newdata)      do_throw("Stream contents do not match after file copy!");    oldstream.close();    newstream.close();    /* cleanup... also ensures that the destination file is not in        use when OnStopRequest is called. */    try {      dest.remove(false);    } catch (e) {      dump(e + "\n");      do_throw("Unable to remove uploaded file!\n");    }        run_next_test();  }  chan.asyncOpen(new Listener(on_upload_complete), null);}
meta: 5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5459/7d20ed1ad6a8ef110361df3d529a96f217b4d074/test_file_protocol.js/clean/netwerk/test/unit/test_file_protocol.js