Bug 1890689 accumulate input in LargerReceiverBlockSizeThanDesiredBuffering GTest...
[gecko.git] / editor / libeditor / EditorController.cpp
blob9bb440a6150502c8ed8b8a3bb85b1ec0a60d5608
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include "mozilla/EditorController.h"
8 #include "EditorCommands.h"
9 #include "mozilla/mozalloc.h"
10 #include "nsControllerCommandTable.h"
11 #include "nsDebug.h"
12 #include "nsError.h"
14 class nsIControllerCommand;
16 namespace mozilla {
18 #define NS_REGISTER_COMMAND(_cmdClass, _cmdName) \
19 { \
20 aCommandTable->RegisterCommand( \
21 _cmdName, \
22 static_cast<nsIControllerCommand*>(_cmdClass::GetInstance())); \
25 // static
26 nsresult EditorController::RegisterEditingCommands(
27 nsControllerCommandTable* aCommandTable) {
28 // now register all our commands
29 // These are commands that will be used in text widgets, and in composer
31 NS_REGISTER_COMMAND(UndoCommand, "cmd_undo");
32 NS_REGISTER_COMMAND(RedoCommand, "cmd_redo");
34 NS_REGISTER_COMMAND(CutCommand, "cmd_cut");
35 NS_REGISTER_COMMAND(CutOrDeleteCommand, "cmd_cutOrDelete");
36 NS_REGISTER_COMMAND(CopyCommand, "cmd_copy");
37 NS_REGISTER_COMMAND(CopyOrDeleteCommand, "cmd_copyOrDelete");
38 NS_REGISTER_COMMAND(SelectAllCommand, "cmd_selectAll");
40 NS_REGISTER_COMMAND(PasteCommand, "cmd_paste");
41 NS_REGISTER_COMMAND(PasteTransferableCommand, "cmd_pasteTransferable");
43 NS_REGISTER_COMMAND(SwitchTextDirectionCommand, "cmd_switchTextDirection");
45 NS_REGISTER_COMMAND(DeleteCommand, "cmd_delete");
46 NS_REGISTER_COMMAND(DeleteCommand, "cmd_deleteCharBackward");
47 NS_REGISTER_COMMAND(DeleteCommand, "cmd_deleteCharForward");
48 NS_REGISTER_COMMAND(DeleteCommand, "cmd_deleteWordBackward");
49 NS_REGISTER_COMMAND(DeleteCommand, "cmd_deleteWordForward");
50 NS_REGISTER_COMMAND(DeleteCommand, "cmd_deleteToBeginningOfLine");
51 NS_REGISTER_COMMAND(DeleteCommand, "cmd_deleteToEndOfLine");
53 // Insert content
54 NS_REGISTER_COMMAND(InsertPlaintextCommand, "cmd_insertText");
55 NS_REGISTER_COMMAND(InsertParagraphCommand, "cmd_insertParagraph");
56 NS_REGISTER_COMMAND(InsertLineBreakCommand, "cmd_insertLineBreak");
57 NS_REGISTER_COMMAND(PasteQuotationCommand, "cmd_pasteQuote");
59 return NS_OK;
62 // static
63 nsresult EditorController::RegisterEditorCommands(
64 nsControllerCommandTable* aCommandTable) {
65 // These are commands that will be used in text widgets only.
67 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_scrollTop");
68 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_scrollBottom");
69 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_moveTop");
70 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_moveBottom");
71 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectTop");
72 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectBottom");
73 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_lineNext");
74 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_linePrevious");
75 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectLineNext");
76 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectLinePrevious");
77 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_charPrevious");
78 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_charNext");
79 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectCharPrevious");
80 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectCharNext");
81 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_beginLine");
82 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_endLine");
83 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectBeginLine");
84 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectEndLine");
85 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_wordPrevious");
86 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_wordNext");
87 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectWordPrevious");
88 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectWordNext");
89 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_scrollPageUp");
90 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_scrollPageDown");
91 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_scrollLineUp");
92 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_scrollLineDown");
93 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_movePageUp");
94 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_movePageDown");
95 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectPageUp");
96 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectPageDown");
97 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_moveLeft");
98 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_moveRight");
99 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_moveUp");
100 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_moveDown");
101 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_moveLeft2");
102 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_moveRight2");
103 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_moveUp2");
104 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_moveDown2");
105 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectLeft");
106 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectRight");
107 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectUp");
108 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectDown");
109 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectLeft2");
110 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectRight2");
111 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectUp2");
112 NS_REGISTER_COMMAND(SelectionMoveCommands, "cmd_selectDown2");
114 return NS_OK;
117 // static
118 void EditorController::Shutdown() {
119 // EditingCommands
120 UndoCommand::Shutdown();
121 RedoCommand::Shutdown();
122 CutCommand::Shutdown();
123 CutOrDeleteCommand::Shutdown();
124 CopyCommand::Shutdown();
125 CopyOrDeleteCommand::Shutdown();
126 PasteCommand::Shutdown();
127 PasteTransferableCommand::Shutdown();
128 SwitchTextDirectionCommand::Shutdown();
129 DeleteCommand::Shutdown();
130 SelectAllCommand::Shutdown();
131 InsertPlaintextCommand::Shutdown();
132 InsertParagraphCommand::Shutdown();
133 InsertLineBreakCommand::Shutdown();
134 PasteQuotationCommand::Shutdown();
136 // EditorCommands
137 SelectionMoveCommands::Shutdown();
140 } // namespace mozilla