| Index: third_party/WebKit/Source/core/editing/commands/TypingCommand.h
|
| diff --git a/third_party/WebKit/Source/core/editing/commands/TypingCommand.h b/third_party/WebKit/Source/core/editing/commands/TypingCommand.h
|
| index 6f57268ed3d375ddb165bcc831128904096fe8d7..cb6964a7a66220a9ddc1f1b4fd8ecfd2678e2b96 100644
|
| --- a/third_party/WebKit/Source/core/editing/commands/TypingCommand.h
|
| +++ b/third_party/WebKit/Source/core/editing/commands/TypingCommand.h
|
| @@ -75,13 +75,31 @@ class TypingCommand final : public CompositeEditCommand {
|
| const VisibleSelection&,
|
| Options,
|
| TextCompositionType = TextCompositionNone);
|
| +
|
| + // When the IME only wants to change a few characters of the composition, only
|
| + // touch those characters in order to preserve rich text substructure.
|
| + static void insertIncrementalText(Document&,
|
| + const String&,
|
| + const String&,
|
| + Options,
|
| + TextCompositionType = TextCompositionNone);
|
| + static void insertIncrementalText(Document&,
|
| + const String&,
|
| + const String&,
|
| + const VisibleSelection&,
|
| + Options,
|
| + TextCompositionType = TextCompositionNone);
|
| static bool insertLineBreak(Document&);
|
| static bool insertParagraphSeparator(Document&);
|
| static bool insertParagraphSeparatorInQuotedContent(Document&);
|
| static void closeTyping(LocalFrame*);
|
|
|
| - void insertText(const String& text, bool selectInsertedText, EditingState*);
|
| - void insertTextRunWithoutNewlines(const String& text,
|
| + void insertText(const String& textToInsert,
|
| + const String& textForEvent,
|
| + bool selectInsertedText,
|
| + EditingState*);
|
| + void insertTextRunWithoutNewlines(const String& textToInsert,
|
| + const String& textForEvent,
|
| bool selectInsertedText,
|
| EditingState*);
|
| void insertLineBreak(EditingState*);
|
| @@ -156,8 +174,23 @@ class TypingCommand final : public CompositeEditCommand {
|
| m_commandType = typingCommand;
|
| }
|
|
|
| + static void setSelectionForIncrementalInsertion(TypingCommand*,
|
| + const VisibleSelection&,
|
| + LocalFrame*);
|
| + static void setCommandSelectionForIncrementalInsertion(
|
| + TypingCommand*,
|
| + const VisibleSelection&,
|
| + LocalFrame*);
|
| +
|
| ETypingCommand m_commandType;
|
| +
|
| + // The text to be inserted.
|
| String m_textToInsert;
|
| + // The text used to send 'input' event. It could be different with
|
| + // |m_textToInsert| when applying incremental insertion. In other situations,
|
| + // they're the same.
|
| + String m_textForEvent;
|
| +
|
| bool m_openForMoreTyping;
|
| bool m_selectInsertedText;
|
| bool m_smartDelete;
|
| @@ -173,6 +206,8 @@ class TypingCommand final : public CompositeEditCommand {
|
|
|
| bool m_shouldRetainAutocorrectionIndicator;
|
| bool m_shouldPreventSpellChecking;
|
| +
|
| + static bool m_isIncrementalInsertion;
|
| };
|
|
|
| DEFINE_TYPE_CASTS(TypingCommand,
|
|
|