Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(710)

Side by Side Diff: third_party/WebKit/Source/core/editing/InputMethodController.h

Issue 1995333002: Handle newCursorPosition correctly for Android's commitText() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: For yosin@'s 2nd review Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 KeepSelection, 50 KeepSelection,
51 }; 51 };
52 52
53 static InputMethodController* create(LocalFrame&); 53 static InputMethodController* create(LocalFrame&);
54 DECLARE_TRACE(); 54 DECLARE_TRACE();
55 55
56 // international text input composition 56 // international text input composition
57 bool hasComposition() const; 57 bool hasComposition() const;
58 void setComposition(const String&, const Vector<CompositionUnderline>&, int selectionStart, int selectionEnd); 58 void setComposition(const String&, const Vector<CompositionUnderline>&, int selectionStart, int selectionEnd);
59 void setCompositionFromExistingText(const Vector<CompositionUnderline>&, uns igned compositionStart, unsigned compositionEnd); 59 void setCompositionFromExistingText(const Vector<CompositionUnderline>&, uns igned compositionStart, unsigned compositionEnd);
60
60 // Inserts the text that is being composed as a regular text and returns tru e 61 // Inserts the text that is being composed as a regular text and returns tru e
61 // if composition exists. 62 // if composition exists.
62 bool confirmComposition(); 63 bool confirmComposition();
63 // Inserts the given text string in the place of the existing composition
64 // and returns true.
65 bool confirmComposition(const String& text, ConfirmCompositionBehavior confi rmBehavior = KeepSelection);
66 // Inserts the text that is being composed or specified non-empty text and 64 // Inserts the text that is being composed or specified non-empty text and
67 // returns true. 65 // returns true. This will not change the selection.
68 bool confirmCompositionOrInsertText(const String& text, ConfirmCompositionBe havior); 66 bool commitComposition(const String& text);
67 // Inserts the text that is being composed or specified non-empty text and
68 // returns true. This will change the selection according to
69 // relativeCaretPosition. If > 0, it's relative to the end of the text - 1;
70 // otherwise, it's relative to the start of the text.
71 bool commitCompositionAndMoveCaret(const String& text, int relativeCaretPosi tion);
72
69 // Deletes the existing composition text. 73 // Deletes the existing composition text.
70 void cancelComposition(); 74 void cancelComposition();
71 void cancelCompositionIfSelectionIsInvalid(); 75 void cancelCompositionIfSelectionIsInvalid();
72 EphemeralRange compositionEphemeralRange() const; 76 EphemeralRange compositionEphemeralRange() const;
73 Range* compositionRange() const; 77 Range* compositionRange() const;
74 78
75 void clear(); 79 void clear();
76 void documentDetached(); 80 void documentDetached();
77 81
78 PlainTextRange getSelectionOffsets() const; 82 PlainTextRange getSelectionOffsets() const;
(...skipping 25 matching lines...) Expand all
104 Editor& editor() const; 108 Editor& editor() const;
105 LocalFrame& frame() const 109 LocalFrame& frame() const
106 { 110 {
107 DCHECK(m_frame); 111 DCHECK(m_frame);
108 return *m_frame; 112 return *m_frame;
109 } 113 }
110 114
111 String composingText() const; 115 String composingText() const;
112 void selectComposition() const; 116 void selectComposition() const;
113 bool setSelectionOffsets(const PlainTextRange&, FrameSelection::SetSelection Options = FrameSelection::CloseTyping); 117 bool setSelectionOffsets(const PlainTextRange&, FrameSelection::SetSelection Options = FrameSelection::CloseTyping);
118
119 bool insertText(const String&);
120 bool insertTextAndMoveCaret(const String&, int relativeCaretPosition);
121
122 // Inserts the given text string in the place of the existing composition
123 // and returns true.
124 bool replaceComposition(const String& text, ConfirmCompositionBehavior confi rmBehavior);
125 bool replaceCompositionAndMoveCaret(const String&, int relativeCaretPosition );
126
127 bool moveCaret(int newCaretPosition);
114 }; 128 };
115 129
116 } // namespace blink 130 } // namespace blink
117 131
118 #endif // InputMethodController_h 132 #endif // InputMethodController_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698