add: var size, border; var coordValue, clientCoordValue; switch (aEvent.target.localName) { case "toolbarseparator": case "toolbarbutton": size = overButtonBoxObject.width; coordValue = overButtonBoxObject.x; clientCoordValue = aEvent.clientX; break; case "menuseparator": case "menu": case "menuitem": size = overButtonBoxObject.height; coordValue = overButtonBoxObject.y-overParentBoxObject.y; clientCoordValue = aEvent.clientY; break; default: return this.DROP_ON; }  
context:   determineDropPosition: function (aEvent)  {    var overButtonBoxObject = aEvent.target.boxObject.QueryInterface(Components.interfaces.nsIBoxObject);    // most things only drop on the left or right    var regionCount = 2;    // you can drop ONTO containers, so there is a "middle" region    if (this.isContainer(aEvent.target))      return this.DROP_ON;          var measure;    var coordValue;    var clientCoordValue;    if (aEvent.target.localName == "menuitem") {      measure = overButtonBoxObject.height/regionCount;      coordValue = overButtonBoxObject.y;      clientCoordValue = aEvent.clientY;    }    else if (aEvent.target.localName == "toolbarbutton") {      measure = overButtonBoxObject.width/regionCount;      coordValue = overButtonBoxObject.x;      clientCoordValue = aEvent.clientX;    }    else      return this.DROP_ON;        // in the first region?    if (clientCoordValue < (coordValue + measure))      return this.DROP_BEFORE;    // in the last region?    if (clientCoordValue >= (coordValue + (regionCount - 1)*measure))      return this.DROP_AFTER;    // must be in the middle somewhere    return this.DROP_ON;  },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/8c7da050d905071c1126544567201890594b3197/navigatorDD.js/buggy/xpfe/browser/resources/content/navigatorDD.js