| Index: third_party/WebKit/Source/core/editing/commands/InsertIncrementalTextCommand.h
|
| diff --git a/third_party/WebKit/Source/core/editing/commands/InsertIncrementalTextCommand.h b/third_party/WebKit/Source/core/editing/commands/InsertIncrementalTextCommand.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f9534f814429a5f16b99456842883ffb056f7ca1
|
| --- /dev/null
|
| +++ b/third_party/WebKit/Source/core/editing/commands/InsertIncrementalTextCommand.h
|
| @@ -0,0 +1,57 @@
|
| +// Copyright (c) 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef InsertIncrementalTextCommand_h
|
| +#define InsertIncrementalTextCommand_h
|
| +
|
| +#include "core/editing/commands/CompositeEditCommand.h"
|
| +
|
| +namespace blink {
|
| +
|
| +class InsertIncrementalTextCommand final : public CompositeEditCommand {
|
| + public:
|
| + enum RebalanceType {
|
| + RebalanceLeadingAndTrailingWhitespaces,
|
| + RebalanceAllWhitespaces
|
| + };
|
| +
|
| + static InsertIncrementalTextCommand* create(
|
| + Document& document,
|
| + const String& text,
|
| + bool selectInsertedText = false,
|
| + RebalanceType rebalanceType = RebalanceLeadingAndTrailingWhitespaces) {
|
| + return new InsertIncrementalTextCommand(document, text, selectInsertedText,
|
| + rebalanceType);
|
| + }
|
| +
|
| + String textDataForInputEvent() const final;
|
| +
|
| + private:
|
| + InsertIncrementalTextCommand(Document&,
|
| + const String& text,
|
| + bool selectInsertedText,
|
| + RebalanceType);
|
| +
|
| + void doApply(EditingState*) override;
|
| +
|
| + Position positionInsideTextNode(const Position&, EditingState*);
|
| + Position insertTab(const Position&, EditingState*);
|
| +
|
| + bool performTrivialReplace(const String&, bool selectInsertedText);
|
| + bool performOverwrite(const String&, bool selectInsertedText);
|
| + void setEndingSelectionWithoutValidation(const Position& startPosition,
|
| + const Position& endPosition);
|
| +
|
| + void setSelection(const size_t start, const size_t end, LocalFrame*);
|
| +
|
| + friend class TypingCommand;
|
| +
|
| + String m_text;
|
| + bool m_selectInsertedText;
|
| + RebalanceType m_rebalanceType;
|
| +};
|
| +
|
| +} // namespace blink
|
| +
|
| +#endif // InsertIncrementalTextCommand_h
|
|
|