ocument.body.addEventListener('drop', drop);
    document.body.addEventListener('dragdrop', drop);

    function drop(e) {
        cancel(e);
        if (e.dataTransfer.types.includes('Files')) {
            const files = e.dataTransfer.files;
            elm.ports.dragOver.send(false);
            [].forEach.call(files, file => readContents(file));
        } else if (e.dataTransfer.types.includes('text/uri-list')) {
            elm.ports.dragOver.send(false);
            fetch(e.dataTransfer.getData('text/