rem: var dragService = Components.classes["@mozilla.org/widget/dragservice;1"].getService(); if (dragService) dragService = dragService.QueryInterface(Components.interfaces.nsIDragService); if (!dragService) return(false);  var dragSession = dragService.getCurrentSession(); if ( !dragSession ) return(false);  var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable); if ( !trans ) return(false); trans.addDataFlavor("text/nsabcard"); 
add: try { trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable); trans.addDataFlavor("text/x-moz-address"); } catch (ex) { return; } 
context: function DropOnAddressListTree(event){  var rdf = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService();  if (rdf)    rdf = rdf.QueryInterface(Components.interfaces.nsIRDFService);  if (!rdf) return(false);  var dragService = Components.classes["@mozilla.org/widget/dragservice;1"].getService();  if (dragService)    dragService = dragService.QueryInterface(Components.interfaces.nsIDragService);  if (!dragService) return(false);  var dragSession = dragService.getCurrentSession();  if ( !dragSession ) return(false);  var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);  if ( !trans ) return(false);  trans.addDataFlavor("text/nsabcard");  for ( var i = 0; i < dragSession.numDropItems; ++i )  {    dragSession.getData ( trans, i );    var dataObj = new Object();    var bestFlavor = new Object();    var len = new Object();    trans.getAnyTransferData ( bestFlavor, dataObj, len );    if ( dataObj )  dataObj = dataObj.value.QueryInterface(Components.interfaces.nsISupportsWString);    if ( !dataObj ) continue;    // pull the URL out of the data object    var sourceID = dataObj.data.substring(0, len.value);    if (!sourceID)  continue;    var cardResource = rdf.GetResource(sourceID);    var card = cardResource.QueryInterface(Components.interfaces.nsIAbCard);    if (card.isMailList)      DropListAddress(card.name);    else    {      var address;      if (card.name.length)        address = card.name + " <" + card.primaryEmail + ">";      else        address = card.primaryEmail;      DropListAddress(address);    }  }  return(false);}
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/d08d4d3f9753b01573c0820f3dc3010c62295d11/abMailListDialog.js/clean/mailnews/addrbook/resources/content/abMailListDialog.js