[webkit-dev] propose an API to return Range in <textarea> etc. form control nodes (similar functionality as document.caretRangeFromPoint)

Maciej Stachowiak mjs at apple.com
Fri Oct 16 10:39:09 PDT 2009


On Oct 16, 2009, at 10:23 AM, Xiaomei Ji wrote:

> Hi Maciej:
>
> Thanks for your comments.
>
> I have a question about "interface CaretPosition":
> In case of form control node, such as <textarea>,  the 'offset' is  
> the character offset within the <textarea> under mouse, 'offsetKind'  
> is "control", what is the value of 'containingNode"? Is it itself or  
> its shadowAncestorNode?

The node for the <textarea> would be the one reported (or of the  
<input type="text"> or whatever kind of form control it was). The  
concepts of "shawdowAncestorNode" and shadows trees in general do not  
exist as far as Web standards are concerned. These things are  
implementation details of WebKit.

  - Maciej

>
> Thanks,
> Xiaomei
>
>
> On Mon, Oct 12, 2009 at 1:50 PM, Maciej Stachowiak <mjs at apple.com>  
> wrote:
>
> On Oct 12, 2009, at 1:08 AM, Anne van Kesteren wrote:
>
> On Fri, 09 Oct 2009 19:04:52 +0200, Xiaomei Ji <xji at chromium.org>  
> wrote:
> 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).
> It hides the information about the node and should be a useful API.
>
> Don'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...
>
> I think we should consider changing caretRangeFromPoint's return  
> type, if it's not too late. It's useful to get the caret position  
> inside a text form control, beyond the immediate use case.
>
> Instead of returning a Range, caretRangeFromPoint could return an  
> object like this:
>
> interface CaretPosition {
>    readonly attribute Node containingNode;
>    readonly attribute int offset;
>    readonly attribute DOMString offsetKind; // "document" or "control"
> }
>
> It could have a convenience method for converting a Range too, if  
> that's really needed (which would give null or something for a  
> control position).
>
> Regards,
> Maciej
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20091016/0395cd0c/attachment.html>


More information about the webkit-dev mailing list