Como selecionar um nó em um intervalo com navegadores webkit?

Atualmente estou trabalhando em uma solução WYSIWYG e preciso de uma função para selecionar corretamente com um intervalo de um nó (por isso quero dizer o próprio nó, não só é conteúdo)

DOM lvl2 claramente tem uma função para issow3.org/ranges e definir isso

range.selectNodeContents() // Select the contents within a node
e
range.selectNode() //Select a node and its contents

O problema é que quando selectNode () funciona perfeitamente com o Firefox ou até com o IE9, parece impossível conseguir com qualquer navegador Webkit (no último Chrome e Safari). No Webkit, tanto selectNodeContents () quanto selectNode () selecionam apenas o conteúdo do nó (que, de acordo com as especificações, parece ser um bug)

Para fazer isso funcionar eu tentei emular o objetivo selectNode () usando
range.setStartBefore(node);<br>range.setEndAfter(node);
mas o resultado ainda é o mesmo, ele funciona em todos os lugares (ou seja,> 8, claro), mas não em navegadores webkit.

Se você quiser tentar, eu fiz um pequeno jsfiddle com o qual você pode jogarAqui (apenas abra o console e veja o resultado console.warn que não é o mesmo no webkit: /)

Eu procurei muito, mas não consigo encontrar uma maneira de realmente selecionar um nó completo em navegadores webkit. Por milagre alguns de vocês sabem uma maneira de fazer isso ou até mesmo qualquer dica para continuar minha busca? : /

ps: Eu sei "rangy" lib mas não posso usá-lo no meu projeto e, pelo que li na fonte, não tenho certeza se eles lidam com isso de qualquer maneira: /

questionAnswers(1)

yourAnswerToTheQuestion