[webkit-dev] Please do NOT call Position::Position(node, offset) or Position::node()

Ryosuke Niwa rniwa at webkit.org
Wed Jan 19 18:11:43 PST 2011


Hi everyone,

Please DO NOT instantiate a Position object by Position::Position(PassRefPtr
<Node> anchorNode, int offset) or call Position::node().

The above constructor creates a legacy editing position, which we're trying
to get rid of [1].  Please use Position(PassRefPtr<Node> anchorNode, int
offset, AnchorType) with PositionIsOffsetInAnchor or call one of helper
functions in Position.h such as positionBeforeNode, and positionAfterNode.

Position::node() is a deprecated function [2]. Please call either one of
containerNode(), computeNodeAfterPosition(), or computeNodeBeforePosition()
 instead.

Ping me on IRC (rniwa) or email me <rniwa at webkit.org> if you have any
questions.

[1] Bug 52099 - "[Meta] Get rid of legacy editing
position"<https://bugs.webkit.org/show_bug.cgi?id=52099>
[2] Most callers of node() intend to obtain the node that contains the
position.  However, when a position is before or after a node (i.e. anchor
type is PositionIsBeforeNode or PositionIsAfterNode), node() returns the
position's anchor node that resides either after or before the position and
does NOT contain the position. Conversely, when a position is offset in a
node, node() returns the container node that is neither before nor after the
node. If a caller of node() is aware of these differences and has a
different logic for each type, then it should be calling anchorNode()
instead.

Best regards,
Ryosuke Niwa
Software Engineer
Google Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20110119/9767c755/attachment.html>


More information about the webkit-dev mailing list