OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2005, 2006, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2005, 2006, 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 Loading... |
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 InsertTextCommand_h | 26 #ifndef InsertTextCommand_h |
27 #define InsertTextCommand_h | 27 #define InsertTextCommand_h |
28 | 28 |
29 #include "core/editing/CompositeEditCommand.h" | 29 #include "core/editing/CompositeEditCommand.h" |
30 | 30 |
31 namespace blink { | 31 namespace blink { |
32 | 32 |
33 class InsertTextCommand FINAL : public CompositeEditCommand { | 33 class InsertTextCommand final : public CompositeEditCommand { |
34 public: | 34 public: |
35 enum RebalanceType { | 35 enum RebalanceType { |
36 RebalanceLeadingAndTrailingWhitespaces, | 36 RebalanceLeadingAndTrailingWhitespaces, |
37 RebalanceAllWhitespaces | 37 RebalanceAllWhitespaces |
38 }; | 38 }; |
39 | 39 |
40 static PassRefPtrWillBeRawPtr<InsertTextCommand> create(Document& document,
const String& text, bool selectInsertedText = false, | 40 static PassRefPtrWillBeRawPtr<InsertTextCommand> create(Document& document,
const String& text, bool selectInsertedText = false, |
41 RebalanceType rebalanceType = RebalanceLeadingAndTrailingWhitespaces) | 41 RebalanceType rebalanceType = RebalanceLeadingAndTrailingWhitespaces) |
42 { | 42 { |
43 return adoptRefWillBeNoop(new InsertTextCommand(document, text, selectIn
sertedText, rebalanceType)); | 43 return adoptRefWillBeNoop(new InsertTextCommand(document, text, selectIn
sertedText, rebalanceType)); |
44 } | 44 } |
45 | 45 |
46 private: | 46 private: |
47 InsertTextCommand(Document&, const String& text, bool selectInsertedText, Re
balanceType); | 47 InsertTextCommand(Document&, const String& text, bool selectInsertedText, Re
balanceType); |
48 | 48 |
49 virtual void doApply() OVERRIDE; | 49 virtual void doApply() override; |
50 | 50 |
51 Position positionInsideTextNode(const Position&); | 51 Position positionInsideTextNode(const Position&); |
52 Position insertTab(const Position&); | 52 Position insertTab(const Position&); |
53 | 53 |
54 bool performTrivialReplace(const String&, bool selectInsertedText); | 54 bool performTrivialReplace(const String&, bool selectInsertedText); |
55 bool performOverwrite(const String&, bool selectInsertedText); | 55 bool performOverwrite(const String&, bool selectInsertedText); |
56 void setEndingSelectionWithoutValidation(const Position& startPosition, cons
t Position& endPosition); | 56 void setEndingSelectionWithoutValidation(const Position& startPosition, cons
t Position& endPosition); |
57 | 57 |
58 friend class TypingCommand; | 58 friend class TypingCommand; |
59 | 59 |
60 String m_text; | 60 String m_text; |
61 bool m_selectInsertedText; | 61 bool m_selectInsertedText; |
62 RebalanceType m_rebalanceType; | 62 RebalanceType m_rebalanceType; |
63 }; | 63 }; |
64 | 64 |
65 } // namespace blink | 65 } // namespace blink |
66 | 66 |
67 #endif // InsertTextCommand_h | 67 #endif // InsertTextCommand_h |
OLD | NEW |