Index: third_party/WebKit/WebCore/dom/Position.h |
=================================================================== |
--- third_party/WebKit/WebCore/dom/Position.h (revision 9310) |
+++ third_party/WebKit/WebCore/dom/Position.h (working copy) |
@@ -40,7 +40,11 @@ |
class Range; |
class RenderObject; |
-enum EUsingComposedCharacters { NotUsingComposedCharacters = false, UsingComposedCharacters = true }; |
+enum PositionMoveType { |
+ CodePoint, // Move by a single code point. |
+ Character, // Move to the next Unicode character break. |
+ BackwardDeletion // Subject to platform conventions. |
+}; |
// FIXME: Reduce the number of operations we have on a Position. |
// This should be more like a humble struct, without so many different |
@@ -69,9 +73,10 @@ |
// Move up or down the DOM by one position. |
// Offsets are computed using render text for nodes that have renderers - but note that even when |
// using composed characters, the result may be inside a single user-visible character if a ligature is formed. |
- Position previous(EUsingComposedCharacters usingComposedCharacters=NotUsingComposedCharacters) const; |
- Position next(EUsingComposedCharacters usingComposedCharacters=NotUsingComposedCharacters) const; |
+ Position previous(PositionMoveType = CodePoint) const; |
+ Position next(PositionMoveType = CodePoint) const; |
static int uncheckedPreviousOffset(const Node*, int current); |
+ static int uncheckedPreviousOffsetForBackwardDeletion(const Node*, int current); |
static int uncheckedNextOffset(const Node*, int current); |
bool atStart() const; |