Chromium Code Reviews| Index: views/controls/textfield/textfield_views_model.h |
| diff --git a/views/controls/textfield/textfield_views_model.h b/views/controls/textfield/textfield_views_model.h |
| index de7e5204cb4f286f67f977c0e23cdbc05bb32ec5..2ee9ee4e8351e8d0d794d2f310186d08f08dc50d 100644 |
| --- a/views/controls/textfield/textfield_views_model.h |
| +++ b/views/controls/textfield/textfield_views_model.h |
| @@ -34,6 +34,19 @@ class Edit; |
| struct TextStyleRange; |
| +// C++ doesn't allow forward decl enum, so let's define here. |
| +enum MergeType { |
| + // The edit should not be merged with next edit. It still may |
| + // be merged with an edit with MERGE_WITH_PREVIOUS. |
| + DO_NOT_MERGE, // Never merge |
|
msw
2011/06/02 21:02:57
nit: remove "never merge", the comment above is be
oshima
2011/06/03 00:39:24
Done.
|
| + // The edit can be merged with next edit when possible. |
| + MERGEABLE, |
| + // Does the edit has to be merged with previous edit? |
|
msw
2011/06/02 21:02:57
*have* to be
oshima
2011/06/03 00:39:24
Done.
|
| + // This forces the merge even if the previous edit is marked |
| + // as DO_NOT_MERGE. |
| + MERGE_WITH_PREVIOUS, |
| +}; |
| + |
| } // namespace internal |
| typedef std::vector<internal::TextStyleRange*> TextStyleRanges; |
| @@ -313,10 +326,13 @@ class TextfieldViewsModel { |
| // Executes and records edit operations. |
| void ExecuteAndRecordDelete(size_t from, size_t to, bool mergeable); |
| - void ExecuteAndRecordReplace(const string16& text, bool mergeable); |
| - void ExecuteAndRecordReplaceAt(const string16& text, |
| - size_t at, |
| - bool mergeable); |
| + void ExecuteAndRecordReplaceSelection(internal::MergeType merge_type, |
| + const string16& text); |
| + void ExecuteAndRecordReplace(internal::MergeType merge_type, |
| + size_t old_cursor_pos, |
| + size_t new_cursor_pos, |
| + const string16& text, |
| + size_t new_text_start); |
| void ExecuteAndRecordInsert(const string16& text, bool mergeable); |
| // Adds or merge |edit| into edit history. Return true if the edit |