<head>
    <meta name="viewport" content="width=device-width">
        <style>
        body {
            width: 100%;
            height: 100%;
            margin: 0;
        }

        #source, #editor {
            width: 100%;
            height: 200px;
            font-size: 200px;
            white-space: nowrap;
        }

        #source {
            overflow: hidden;
        }

        #editor {
            border: black 1px solid;
        }
        </style>
</head>

<body>
    <div contenteditable id="source">Hello world</div>
    <textarea contenteditable id="editor"></textarea>
    <script>
    function postEventType(event) {
       webkit.messageHandlers.testHandler.postMessage(event.type);
    }

    editor.addEventListener("drop", postEventType);
    editor.addEventListener("dragenter", postEventType);
    editor.addEventListener("dragover", postEventType);
    editor.addEventListener("dragleave", postEventType);
    editor.addEventListener("dragstart", postEventType);

    let text = source.childNodes[0];
    getSelection().setBaseAndExtent(text, 0, text, text.data.length);
    </script>
</body>
