It is necessary to handle `dragover` as well as `drop` to get this to work in Chrome and Firefox.