Como posso obter o elemento em que o cursor está com Javascript, ao usar o contentEditable?

Digamos que eu tenha algum código HTML como este:

<body contentEditable="true">
   <h1>Some heading text here</h1>
   <p>Some text here</p>
</body>

Agora o cursor (o cursor piscando) está piscando dentro do elemento H1, digamos na palavra "cabeçalho". Como posso obter o nome do elemento no qual o cursor está com JavaScript? Aqui eu gostaria de receber "h1".

Isso precisa funcionar apenas no WebKit (ele está incorporado em um aplicativo). De preferência, também deve funcionar para seleções.