Index: Source/core/editing/InputMethodController.h |
diff --git a/Source/core/editing/InputMethodController.h b/Source/core/editing/InputMethodController.h |
index 80e9ce9fb6b48d94b450f665cad3aedaaa3d7863..571bd41c01fa7c92c76d9913332f32406b047976 100644 |
--- a/Source/core/editing/InputMethodController.h |
+++ b/Source/core/editing/InputMethodController.h |
@@ -27,7 +27,6 @@ |
#define InputMethodController_h |
#include "core/CoreExport.h" |
-#include "core/dom/Range.h" |
#include "core/editing/CompositionUnderline.h" |
#include "core/editing/EphemeralRange.h" |
#include "core/editing/PlainTextRange.h" |
@@ -73,6 +72,13 @@ |
EphemeralRange compositionEphemeralRange() const; |
PassRefPtrWillBeRawPtr<Range> compositionRange() const; |
+ // getting international text input composition state (for use by InlineTextBox) |
+ Text* compositionNode() const { return m_compositionNode.get(); } |
+ unsigned compositionStart() const { return m_compositionStart; } |
+ unsigned compositionEnd() const { return m_compositionEnd; } |
+ bool compositionUsesCustomUnderlines() const { return !m_customCompositionUnderlines.isEmpty(); } |
+ const Vector<CompositionUnderline>& customCompositionUnderlines() const { return m_customCompositionUnderlines; } |
+ |
void clear(); |
PlainTextRange getSelectionOffsets() const; |
@@ -94,9 +100,13 @@ |
friend class SelectionOffsetsScope; |
RawPtrWillBeMember<LocalFrame> m_frame; |
- RefPtrWillBeMember<Range> m_compositionRange; |
- bool m_isDirty; |
- bool m_hasComposition; |
+ RefPtrWillBeMember<Text> m_compositionNode; |
+ // We don't use PlainTextRange which is immutable, for composition range. |
+ unsigned m_compositionStart; |
+ unsigned m_compositionEnd; |
+ // startOffset and endOffset of CompositionUnderline are based on |
+ // m_compositionNode. |
+ Vector<CompositionUnderline> m_customCompositionUnderlines; |
explicit InputMethodController(LocalFrame&); |