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

Adam Barth abarth at webkit.org
Wed Jan 19 18:17:46 PST 2011

One approach we've used in other code is to put the word "deprecated"
in the name of the function in question.  That makes these issues very
visible in code reviews.  For a constructor, you can require an enum
value with depreciated in its name.


On Wed, Jan 19, 2011 at 6:11 PM, Ryosuke Niwa <rniwa at webkit.org> wrote:
> 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 if you have any questions.
> [1] Bug 52099 - "[Meta] Get rid of legacy editing position"
> [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
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

More information about the webkit-dev mailing list