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

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

Issue 2020973002: Reland: Fix setComposingText with empty text when newCursorPosition != 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reland. Add a parameter. 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 12 matching lines...) Expand all
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 #ifndef InputMethodController_h 26 #ifndef InputMethodController_h
27 #define InputMethodController_h 27 #define InputMethodController_h
28 28
29 #include "core/CoreExport.h" 29 #include "core/CoreExport.h"
30 #include "core/dom/Range.h" 30 #include "core/dom/Range.h"
31 #include "core/editing/CompositionUnderline.h" 31 #include "core/editing/CompositionUnderline.h"
32 #include "core/editing/EphemeralRange.h" 32 #include "core/editing/EphemeralRange.h"
33 #include "core/editing/FrameSelection.h"
33 #include "core/editing/PlainTextRange.h" 34 #include "core/editing/PlainTextRange.h"
34 #include "platform/heap/Handle.h" 35 #include "platform/heap/Handle.h"
35 #include "wtf/Vector.h" 36 #include "wtf/Vector.h"
36 37
37 namespace blink { 38 namespace blink {
38 39
39 class Editor; 40 class Editor;
40 class LocalFrame; 41 class LocalFrame;
41 class Range; 42 class Range;
42 class Text; 43 class Text;
(...skipping 26 matching lines...) Expand all
69 void cancelComposition(); 70 void cancelComposition();
70 void cancelCompositionIfSelectionIsInvalid(); 71 void cancelCompositionIfSelectionIsInvalid();
71 EphemeralRange compositionEphemeralRange() const; 72 EphemeralRange compositionEphemeralRange() const;
72 Range* compositionRange() const; 73 Range* compositionRange() const;
73 74
74 void clear(); 75 void clear();
75 void documentDetached(); 76 void documentDetached();
76 77
77 PlainTextRange getSelectionOffsets() const; 78 PlainTextRange getSelectionOffsets() const;
78 // Returns true if setting selection to specified offsets, otherwise false. 79 // Returns true if setting selection to specified offsets, otherwise false.
79 bool setEditableSelectionOffsets(const PlainTextRange&); 80 bool setEditableSelectionOffsets(const PlainTextRange&, FrameSelection::SetS electionOptions = FrameSelection::CloseTyping);
80 void extendSelectionAndDelete(int before, int after); 81 void extendSelectionAndDelete(int before, int after);
82 PlainTextRange createRangeForSelection(int start, int end, size_t textLength ) const;
81 83
82 private: 84 private:
83 class SelectionOffsetsScope { 85 class SelectionOffsetsScope {
84 WTF_MAKE_NONCOPYABLE(SelectionOffsetsScope); 86 WTF_MAKE_NONCOPYABLE(SelectionOffsetsScope);
85 STACK_ALLOCATED(); 87 STACK_ALLOCATED();
86 public: 88 public:
87 explicit SelectionOffsetsScope(InputMethodController*); 89 explicit SelectionOffsetsScope(InputMethodController*);
88 ~SelectionOffsetsScope(); 90 ~SelectionOffsetsScope();
89 private: 91 private:
90 Member<InputMethodController> m_inputMethodController; 92 Member<InputMethodController> m_inputMethodController;
(...skipping 10 matching lines...) Expand all
101 103
102 Editor& editor() const; 104 Editor& editor() const;
103 LocalFrame& frame() const 105 LocalFrame& frame() const
104 { 106 {
105 DCHECK(m_frame); 107 DCHECK(m_frame);
106 return *m_frame; 108 return *m_frame;
107 } 109 }
108 110
109 String composingText() const; 111 String composingText() const;
110 void selectComposition() const; 112 void selectComposition() const;
111 bool setSelectionOffsets(const PlainTextRange&); 113 bool setSelectionOffsets(const PlainTextRange&, FrameSelection::SetSelection Options = FrameSelection::CloseTyping);
112 }; 114 };
113 115
114 } // namespace blink 116 } // namespace blink
115 117
116 #endif // InputMethodController_h 118 #endif // InputMethodController_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698