rem: else 
add: evenOddCellAttribution(); } else 
context: function downloadCompleted(aDownload) {  // Wrap this in try...catch since this can be called while shutting down...   // it doesn't really matter if it fails then since well.. we're shutting down  // and there's no UI to update!  try {    let dl = getDownload(aDownload.id);    // Update attributes now that we've finished    dl.setAttribute("startTime", Math.round(aDownload.startTime / 1000));    // If we are displaying search results, we do not want to add it to the list    // of completed downloads    if (!gSearching)      gDownloadsView.insertBefore(dl, gDownloadsDoneArea.nextSibling);    else      removeFromView(dl);    // getTypeFromFile fails if it can't find a type for this file.    try {      // Refresh the icon, so that executable icons are shown.      const kExternalHelperAppServContractID =        "@mozilla.org/uriloader/external-helper-app-service;1";      var mimeService = Cc[kExternalHelperAppServContractID].                        getService(Ci.nsIMIMEService);      var contentType = mimeService.getTypeFromFile(aDownload.targetFile);      var listItem = getDownload(aDownload.id)      var oldImage = listItem.getAttribute("image");      // Tacking on contentType bypasses cache      listItem.setAttribute("image", oldImage + "&contentType=" + contentType);    } catch (e) { }    if (gDownloadManager.activeDownloadCount == 0)      document.title = document.documentElement.getAttribute("statictitle");  }  catch (e) { }}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/9421/25c9cc33241faa16c7044152d74d352d6dd1a7e9/downloads.js/clean/toolkit/mozapps/downloads/content/downloads.js