rem: if (!ceParams) 
add: if (!ceParams && !event.button) { var target = event.target;  if (target instanceof Components.interfaces.nsIImageLoadingContent) {  var req = target.getRequest(Components.interfaces.nsIImageLoadingContent.CURRENT_REQUEST); if (!req || req.imageStatus & Components.interfaces.imgIRequest.STATUS_ERROR) return true;  if (target.className == "moz-attached-image-scaled") target.className = "moz-attached-image-unscaled"; else if (target.className == "moz-attached-image-unscaled") target.className = "moz-attached-image-scaled"; } 
context: function messagePaneOnClick(event){  // if this is stand alone mail (no browser)  // or this isn't a simple left click, do nothing, and let the normal code execute  if (event.button != 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey)    return contentAreaClick(event);  // try to determine the href for what you are clicking on.    // for example, it might be "" if you aren't left clicking on a link  var ceParams = hrefAndLinkNodeForClickEvent(event);  if (!ceParams)    return true;  var href = ceParams.href;  // we know that http://, https://, ftp://, file://, chrome://,   // resource://, about:, and gopher:// (as if),   // should load in a browser.  but if we don't have one of those  // (examples are mailto, imap, news, mailbox, snews, nntp, ldap,   // and externally handled schemes like aim)  // we may or may not want a browser window, in which case we return here  // and let the normal code handle it  var needABrowser = /(^http(s)?:|^ftp:|^file:|^gopher:|^chrome:|^resource:|^about:)/i;  if (href.search(needABrowser) == -1)     return true;  // however, if the protocol should not be loaded internally, then we should  // not put up a new browser window.  we should just let the usual processing  // take place.  try {    var extProtService = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"].getService();    extProtService = extProtService.QueryInterface(Components.interfaces.nsIExternalProtocolService);    var scheme = href.substring(0, href.indexOf(":"));    if (!extProtService.isExposedProtocol(scheme))      return true;  }   catch (ex) {} // ignore errors, and just assume that we can proceed.  // if you get here, the user did a simple left click on a link  // that we know should be in a browser window.  // since we are in the message pane, send it to the top most browser window   // (or open one) right away, instead of waiting for us to get some data and  // determine the content type, and then open a browser window  // we want to preventDefault, so that in  // nsGenericHTMLElement::HandleDOMEventForAnchors(), we don't try to handle the click again  event.preventDefault();  if (isPhishingURL(ceParams.linkNode, false, href))    return false;  openAsExternal(href);  return true;}
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/8395/993be3608e23801aecb962b5eb22e8109428336f/mailWindow.js/buggy/mailnews/base/resources/content/mailWindow.js