  return ext || urlext; 
function getDefaultExtension(aFilename, aURI, aContentType){  if (aContentType == "text/plain" || aContentType == "application/octet-stream" || aURI.scheme == "ftp")    return "";   // temporary fix for bug 120327  // First try the extension from the filename  const stdURLContractID = "@mozilla.org/network/standard-url;1";  const stdURLIID = Components.interfaces.nsIURL;  var url = Components.classes[stdURLContractID].createInstance(stdURLIID);  url.filePath = aFilename;  var ext = url.fileExtension;  // This mirrors some code in nsExternalHelperAppService::DoContent  // Use the filename first and then the URI if that fails  var mimeInfo = getMIMEInfoForType(aContentType, ext);  if (ext && mimeInfo && mimeInfo.extensionExists(ext))    return ext;  // Well, that failed.  Now try the extension from the URI  var urlext;  try {    url = aURI.QueryInterface(Components.interfaces.nsIURL);    urlext = url.fileExtension;  } catch (e) {  }  if (urlext && mimeInfo && mimeInfo.extensionExists(urlext)) {    return urlext;  }  else {    try {      return mimeInfo.primaryExtension;    }    catch (e) {      // Fall back on the extensions in the filename and URI for lack      // of anything better.      return ext || urlext;    }  }}
5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5459/6a5609241fdc8d428aae56d8fff644e24e4762ba/contentAreaUtils.js/buggy/toolkit/content/contentAreaUtils.js