rem: etype = etype.toLowerCase(); 
context: function recognizeFeedFromLink(aLink, aPrincipal){  if (!aLink || !aPrincipal)    return null;  var erel = aLink.rel;  var etype = aLink.type;  var etitle = aLink.title;  const rssTitleRegex = /(^|\s)rss($|\s)/i;  var rels = {};  if (erel) {    for each (var relValue in erel.split(/\s+/))      rels[relValue] = true;  }  var isFeed = rels.feed;  if (!isFeed && (!rels.alternate || rels.stylesheet || !etype))    return null;  if (!isFeed) {    // Use type value    etype = etype.replace(/^\s+/, "");    etype = etype.replace(/\s+$/, "");    etype = etype.replace(/\s*;.*/, "");    etype = etype.toLowerCase();    isFeed = (etype == "application/rss+xml" ||              etype == "application/atom+xml");    if (!isFeed) {      // really slimy: general XML types with magic letters in the title      isFeed = ((etype == "text/xml" || etype == "application/xml" ||                 etype == "application/rdf+xml") && rssTitleRegex.test(etitle));    }  }  if (isFeed) {    try {       urlSecurityCheck(aLink.href,                       aPrincipal,                       Components.interfaces.nsIScriptSecurityManager.DISALLOW_INHERIT_PRINCIPAL);    }    catch (ex) {      dump(ex.message);      return null; // doesn't pass security check    }    // successful!  return the feed    return {        href: aLink.href,        type: etype,        title: aLink.title      };  }  return null;}
meta: 10520	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/10520/028b37ab1d92f65abc8ea49522e569c66b3fa5d7/utilityOverlay.js/buggy/browser/base/content/utilityOverlay.js