> Why was it working before bug 846218 ? we did insertBefore all the time and this worked without redoing the object URL. Or did we call displayRenderedIcon at each insertion too ? (just still trying to fully understand the problem)

Yes, after re-arranges we did insertBefore, not when we release the finger, during the dragging. It implied reflows.

> really, the 2 methods displayRenderedIcon and regenerateObjectURL are quite the same (and I'm quite sure you copy/pasted this, right ? :) ). So let's move this in displayRenderedIcon and call the callback (if there is one) just before revoking.

I implement it how you say why I want to have this patch applied on branches in order to fix the problem. But I am not agree. displayRenderedIcon vs regenerateObjectURL are semantically different