@@ -1113,17 +1113,7 @@ define(function (require, exports, module) {
1113
1113
return handleUndoRedo ( "redo" ) ;
1114
1114
}
1115
1115
1116
- /**
1117
- * Special command handler that just ignores the command. This is used for Cut, Copy, and Paste.
1118
- * These menu items are handled natively, but need to be registered in our JavaScript code so the
1119
- * menu items can be created.
1120
- */
1121
- function ignoreCommand ( ) {
1122
- // Do nothing. The shell will call the native handler for the command.
1123
- return ( new $ . Deferred ( ) ) . reject ( ) . promise ( ) ;
1124
- }
1125
-
1126
- function _handleSelectAll ( ) {
1116
+ function _handleSelectAll ( ) {
1127
1117
var result = new $ . Deferred ( ) ,
1128
1118
editor = EditorManager . getFocusedEditor ( ) ;
1129
1119
@@ -1137,6 +1127,19 @@ define(function (require, exports, module) {
1137
1127
return result . promise ( ) ;
1138
1128
}
1139
1129
1130
+ function _execCommand ( cmd ) {
1131
+ window . document . execCommand ( cmd ) ;
1132
+ }
1133
+ function _execCommandCut ( ) {
1134
+ _execCommand ( "cut" ) ;
1135
+ }
1136
+ function _execCommandCopy ( ) {
1137
+ _execCommand ( "copy" ) ;
1138
+ }
1139
+ function _execCommandPaste ( ) {
1140
+ _execCommand ( "paste" ) ;
1141
+ }
1142
+
1140
1143
// Register commands
1141
1144
CommandManager . register ( Strings . CMD_INDENT , Commands . EDIT_INDENT , indentText ) ;
1142
1145
CommandManager . register ( Strings . CMD_UNINDENT , Commands . EDIT_UNINDENT , unindentText ) ;
@@ -1155,8 +1158,8 @@ define(function (require, exports, module) {
1155
1158
1156
1159
CommandManager . register ( Strings . CMD_UNDO , Commands . EDIT_UNDO , handleUndo ) ;
1157
1160
CommandManager . register ( Strings . CMD_REDO , Commands . EDIT_REDO , handleRedo ) ;
1158
- CommandManager . register ( Strings . CMD_CUT , Commands . EDIT_CUT , ignoreCommand ) ;
1159
- CommandManager . register ( Strings . CMD_COPY , Commands . EDIT_COPY , ignoreCommand ) ;
1160
- CommandManager . register ( Strings . CMD_PASTE , Commands . EDIT_PASTE , ignoreCommand ) ;
1161
+ CommandManager . register ( Strings . CMD_CUT , Commands . EDIT_CUT , _execCommandCut ) ;
1162
+ CommandManager . register ( Strings . CMD_COPY , Commands . EDIT_COPY , _execCommandCopy ) ;
1163
+ CommandManager . register ( Strings . CMD_PASTE , Commands . EDIT_PASTE , _execCommandPaste ) ;
1161
1164
CommandManager . register ( Strings . CMD_SELECT_ALL , Commands . EDIT_SELECT_ALL , _handleSelectAll ) ;
1162
1165
} ) ;
0 commit comments