<div class="gmail_quote">(sorry for the spam, send last time using the wrong &#39;from&#39; email address to the public mailing lists)</div><div class="gmail_quote"><br><br>Hi Maciej:<div><br></div><div>Thanks for your comments.</div>
<div><br></div><div>I have a question about &quot;interface CaretPosition&quot;:</div><div>In case of form control node, such as &lt;textarea&gt;,  the &#39;offset&#39; is the character offset within the &lt;textarea&gt; under mouse, &#39;offsetKind&#39; is &quot;control&quot;, what is the value of &#39;containingNode&quot;? Is it itself or its shadowAncestorNode?</div>

<div><br>Thanks,</div><div>Xiaomei</div><div><div></div><div class="h5"><div><br></div><div><br><div class="gmail_quote">On Mon, Oct 12, 2009 at 1:50 PM, Maciej Stachowiak <span dir="ltr">&lt;<a href="mailto:mjs@apple.com" target="_blank">mjs@apple.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div><br>
On Oct 12, 2009, at 1:08 AM, Anne van Kesteren wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Fri, 09 Oct 2009 19:04:52 +0200, Xiaomei Ji &lt;<a href="mailto:xji@chromium.org" target="_blank">xji@chromium.org</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Maybe I should propose Document.wordFromPoint() which  directly returns the word under the mouse (and handles both the DOM node and non-DOM form control nodes).<br>
It hides the information about the node and should be a useful API.<br>
</blockquote>
<br>
Don&#39;t you need at least some context information as well besides just the word? Although I suppose you can get that using a combination of elementFromPoint and wordFromPoint...<br>
</blockquote>
<br></div></div>
I think we should consider changing caretRangeFromPoint&#39;s return type, if it&#39;s not too late. It&#39;s useful to get the caret position inside a text form control, beyond the immediate use case.<br>
<br>
Instead of returning a Range, caretRangeFromPoint could return an object like this:<br>
<br>
interface CaretPosition {<br>
    readonly attribute Node containingNode;<br>
    readonly attribute int offset;<br>
    readonly attribute DOMString offsetKind; // &quot;document&quot; or &quot;control&quot;<br>
}<br>
<br>
It could have a convenience method for converting a Range too, if that&#39;s really needed (which would give null or something for a control position).<br>
<br>
Regards,<br><font color="#888888">
Maciej<br>
<br>
<br>
</font></blockquote></div><br></div>
</div></div></div><br>