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 <[email protected]> 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.
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to