Index: ui/gfx/render_text.h |
diff --git a/ui/gfx/render_text.h b/ui/gfx/render_text.h |
index 93054b4487a76c1e16eeaebccb655b747aedcd49..19c118abc916928f7512ba957a71b64314004b94 100644 |
--- a/ui/gfx/render_text.h |
+++ b/ui/gfx/render_text.h |
@@ -378,9 +378,13 @@ class GFX_EXPORT RenderText { |
// Gets the SelectionModel from a visual point in local coordinates. |
virtual SelectionModel FindCursorPosition(const Point& point) = 0; |
- // Return true if cursor can appear in front of the character at |position|, |
- // which means it is a grapheme boundary or the first character in the text. |
- virtual bool IsCursorablePosition(size_t position) = 0; |
+ // Returns true if the position is a valid logical index into text(), and is |
+ // also a valid grapheme boundary, which may be used as a cursor position. |
+ virtual bool IsValidCursorIndex(size_t index) = 0; |
+ |
+ // Returns true if the position is a valid logical index into text(). Indices |
+ // amid multi-character graphemes are allowed here, unlike IsValidCursorIndex. |
+ virtual bool IsValidLogicalIndex(size_t index); |
// Get the visual bounds of a cursor at |caret|. These bounds typically |
// represent a vertical line if |insert_mode| is true. Pass false for |
@@ -388,8 +392,7 @@ class GFX_EXPORT RenderText { |
// are in local coordinates, but may be outside the visible region if the text |
// is longer than the textfield. Subsequent text, cursor, or bounds changes |
// may invalidate returned values. Note that |caret| must be placed at |
- // grapheme boundary, that is, |IsCursorablePosition(caret.caret_pos())| must |
- // return true. |
+ // grapheme boundary, i.e. caret.caret_pos() must be a cursorable position. |
Rect GetCursorBounds(const SelectionModel& caret, bool insert_mode); |
// Compute the current cursor bounds, panning the text to show the cursor in |
@@ -398,10 +401,9 @@ class GFX_EXPORT RenderText { |
const Rect& GetUpdatedCursorBounds(); |
// Given an |index| in text(), return the next or previous grapheme boundary |
- // in logical order (that is, the nearest index for which |
- // |IsCursorablePosition(index)| returns true). The return value is in the |
- // range 0 to text().length() inclusive (the input is clamped if it is out of |
- // that range). Always moves by at least one character index unless the |
+ // in logical order (i.e. the nearest cursorable index). The return value is |
+ // in the range 0 to text().length() inclusive (the input is clamped if it is |
+ // out of that range). Always moves by at least one character index unless the |
// supplied index is already at the boundary of the string. |
size_t IndexOfAdjacentGrapheme(size_t index, |
LogicalCursorDirection direction); |