@@ -1113,17 +1113,7 @@ define(function (require, exports, module) {
11131113 return handleUndoRedo ( "redo" ) ;
11141114 }
11151115
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 ( ) {
11271117 var result = new $ . Deferred ( ) ,
11281118 editor = EditorManager . getFocusedEditor ( ) ;
11291119
@@ -1137,6 +1127,19 @@ define(function (require, exports, module) {
11371127 return result . promise ( ) ;
11381128 }
11391129
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+
11401143 // Register commands
11411144 CommandManager . register ( Strings . CMD_INDENT , Commands . EDIT_INDENT , indentText ) ;
11421145 CommandManager . register ( Strings . CMD_UNINDENT , Commands . EDIT_UNINDENT , unindentText ) ;
@@ -1155,8 +1158,8 @@ define(function (require, exports, module) {
11551158
11561159 CommandManager . register ( Strings . CMD_UNDO , Commands . EDIT_UNDO , handleUndo ) ;
11571160 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 ) ;
11611164 CommandManager . register ( Strings . CMD_SELECT_ALL , Commands . EDIT_SELECT_ALL , _handleSelectAll ) ;
11621165} ) ;
0 commit comments