rem: trans.addDataFlavor("text/plain"); 
add: trans.addDataFlavor("text/unicode"); 
context: function BeginDragPersonalToolbar ( event ){  if ( !gDragDropEnabled )    return;  //XXX we rely on a capturer to already have determined which item the mouse was over  //XXX and have set an attribute.    // if the click is on the toolbar proper, ignore it. We only care about clicks on  // items.  var toolbar = document.getElementById("PersonalToolbar");  if ( event.target == toolbar )    return true;  // continue propagating the event    // since the database is not on the toolbar, but on the innermost box, we need to   // make sure we can find it before we go any further. If we can't find it, we're  // up the creek, but don't keep propagating the event.  var childWithDatabase = document.getElementById("innermostBox");  if ( ! childWithDatabase ) {    event.preventBubble();    return;  }  // pinkerton  // right now, the issue of d&d and these popup menus is really wacky, so i'm punting  // until I have time to fix it and we can come up with a good UI gesture (bug 19588). In  // the meantime, if the target is a container, don't initiate the drag.  var container = event.target.getAttribute("container");  if ( container == "true" )    return;    var dragStarted = false;  var dragService =    Components.classes["component://netscape/widget/dragservice"].getService(Components.interfaces.nsIDragService);  if ( dragService ) {    var trans =       Components.classes["component://netscape/widget/transferable"].createInstance(Components.interfaces.nsITransferable);    if ( trans ) {      trans.addDataFlavor("moz/toolbaritem");      var genData =         Components.classes["component://netscape/supports-wstring"].createInstance(Components.interfaces.nsISupportsWString);      trans.addDataFlavor("text/plain");      var genTextData =         Components.classes["component://netscape/supports-string"].createInstance(Components.interfaces.nsISupportsString);            if ( genData && genTextData ) {      			  var id = event.target.getAttribute("id");			  genData.data = id;			      genTextData.data = id;			      			  dump("ID: " + id + "\n");			  var database = childWithDatabase.database;			  var rdf = 			    Components.classes["component://netscape/rdf/rdf-service"].getService(Components.interfaces.nsIRDFService);			  if ((!rdf) || (!database))  return(false);			  // make sure its a bookmark, bookmark separator, or bookmark folder			  var src = rdf.GetResource(id, true);			  var prop = rdf.GetResource("http://www.w3.org/1999/02/22-rdf-syntax-ns#type", true);			  var target = database.GetTarget(src, prop, true);/*pinkertonthis doesn't work anymore (target is null), not sure why.  if (target) target = target.QueryInterface(Components.interfaces.nsIRDFResource);  if (target) target = target.Value;  if ((!target) || (target == "")) {dump("BAD\n"); return(false);}  dump("Type: '" + target + "'\n");  if ((target != "http://home.netscape.com/NC-rdf#BookmarkSeparator") &&     (target != "http://home.netscape.com/NC-rdf#Bookmark") &&     (target != "http://home.netscape.com/NC-rdf#Folder"))  return(false);*/	      trans.setTransferData ( "moz/toolbaritem", genData, id.length*2 );  // double byte data (len*2)	      trans.setTransferData ( "text/plain", genTextData, id.length );  // single byte data	      var transArray = 	        Components.classes["component://netscape/supports-array"].createInstance(Components.interfaces.nsISupportsArray);	      if ( transArray ) {	        // put it into the transferable as an |nsISupports|	        var genTrans = trans.QueryInterface(Components.interfaces.nsISupports);	        transArray.AppendElement(genTrans);	        var nsIDragService = Components.interfaces.nsIDragService;	        dragService.invokeDragSession ( transArray, null, nsIDragService.DRAGDROP_ACTION_COPY + 	                                            nsIDragService.DRAGDROP_ACTION_MOVE );	        dragStarted = true;	      }      } // if data object    } // if transferable  } // if drag service  if ( dragStarted )               // don't propagate the event if a drag has begun    event.preventBubble();    return true;  } // BeginDragPersonalToolbar
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/ff5704575e6cd5f8b471112e5671154d967e100b/navigatorDD.js/clean/xpfe/browser/resources/content/navigatorDD.js