rem: if (xferData.length >= 2) 
add:   var bookmarksDS = gRDFService.GetDataSource("rdf:bookmarks"); var nameRes = RDFUtils.getResource(NC_RDF("Name")); var nameFromBookmarks = bookmarksDS.GetTarget(elementRes, nameRes, true); if (nameFromBookmarks) nameFromBookmarks = nameFromBookmarks.QueryInterface(Components.interfaces.nsIRDFLiteral); if (nameFromBookmarks) { linkTitle = nameFromBookmarks.Value; } else if (xferData.length >= 2) 
context:   onDrop: function (aEvent, aXferData, aDragSession)    {      var xferData = aXferData.data.split("\n");      var elementRes = RDFUtils.getResource(xferData[0]);      var personalToolbarRes = RDFUtils.getResource("NC:PersonalToolbarFolder");      var inner = document.getElementById("innermostBox");      var childDB = inner.database;      const kCtrContractID = "@mozilla.org/rdf/container;1";      const kCtrIID = Components.interfaces.nsIRDFContainer;      var rdfContainer = Components.classes[kCtrContractID].createInstance(kCtrIID);      // if dragged url is already bookmarked, remove it from current location first      var parentContainer = this.findParentContainer(aDragSession.sourceNode);      if (parentContainer)        {          rdfContainer.Init(childDB, parentContainer);          rdfContainer.RemoveElement(elementRes, false);        }      // determine charset of link      var linkCharset = aDragSession.sourceDocument ? aDragSession.sourceDocument.characterSet : null;      // determine title of link      var linkTitle;      if (xferData.length >= 2)        linkTitle = xferData[1]      else        {          // look up this URL's title in global history          var potentialTitle = null;          var historyDS = gRDFService.GetDataSource("rdf:history");          var titlePropRes = RDFUtils.getResource(NC_RDF("Name"));          var titleFromHistory = historyDS.GetTarget(elementRes, titlePropRes, true);          if (titleFromHistory)            titleFromHistory = titleFromHistory.QueryInterface(Components.interfaces.nsIRDFLiteral);          if (titleFromHistory)            potentialTitle = titleFromHistory.Value;          linkTitle = potentialTitle;        }      var dropElement = aEvent.target.id;      var dropElementRes, dropIndex, dropPosition;      if (dropElement == "innermostBox")         {          dropElementRes = personalToolbarRes;          dropPosition = this.DROP_ON;        }      else        {          dropElementRes = RDFUtils.getResource(dropElement);          rdfContainer.Init(childDB, personalToolbarRes);          dropIndex = rdfContainer.IndexOf(dropElementRes);          if (dropPosition == undefined)            dropPosition = this.determineDropPosition(aEvent);        }            switch (dropPosition) {      case this.DROP_BEFORE:        if (dropIndex<1) dropIndex = 1;        this.insertBookmarkAt(xferData[0], linkTitle, linkCharset, personalToolbarRes, dropIndex);        break;      case this.DROP_ON:        this.insertBookmarkAt(xferData[0], linkTitle, linkCharset, dropElementRes, -1);        break;      case this.DROP_AFTER:      default:        // compensate for badly calculated dropIndex        rdfContainer.Init(childDB, personalToolbarRes);        if (dropIndex < rdfContainer.GetCount()) ++dropIndex;                if (dropIndex<0) dropIndex = 0;        this.insertBookmarkAt(xferData[0], linkTitle, linkCharset, personalToolbarRes, dropIndex);        break;      }            return true;    },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/31624daa7f9c5c22d6e8df9656fdf560dbbff1d2/navigatorDD.js/buggy/xpfe/browser/resources/content/navigatorDD.js