Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Unified Diff: ui/views/cocoa/bridged_content_view.mm

Issue 2007503002: Views: Replace resource ids with ui::TextEditCommand enum for text editing commands in Textfield. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added file deleted during rename. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/views/cocoa/bridged_content_view.mm
diff --git a/ui/views/cocoa/bridged_content_view.mm b/ui/views/cocoa/bridged_content_view.mm
index a59d4f0788461572994df001532e34bd5fbccace..0f50b85f96df76ba0142624907570bfbafdea29b 100644
--- a/ui/views/cocoa/bridged_content_view.mm
+++ b/ui/views/cocoa/bridged_content_view.mm
@@ -22,7 +22,6 @@
#include "ui/gfx/path.h"
#import "ui/gfx/path_mac.h"
#include "ui/gfx/scoped_ns_graphics_context_save_gstate_mac.h"
-#include "ui/strings/grit/ui_strings.h"
#include "ui/views/controls/menu/menu_config.h"
#include "ui/views/controls/menu/menu_controller.h"
#include "ui/views/view.h"
@@ -205,9 +204,9 @@ base::string16 AttributedSubstringForRangeHelper(
// the event to the InputMethod for dispatch.
- (void)handleKeyEvent:(NSEvent*)theEvent;
-// Handles an NSResponder Action Message by mapping it to a corresponding text
-// editing command from ui_strings.grd and, when not being sent to a
-// TextInputClient, the keyCode that toolkit-views expects internally.
+// Handles an NSResponder Action Message by mapping it to a corresponding
+// ui::TextEditCommand and, when not being sent to a TextInputClient, the
+// keyCode that toolkit-views expects internally.
// For example, moveToLeftEndOfLine: would pass ui::VKEY_HOME in non-RTL locales
// even though the Home key on Mac defaults to moveToBeginningOfDocument:.
// This approach also allows action messages a user
@@ -217,7 +216,7 @@ base::string16 AttributedSubstringForRangeHelper(
// which lives in /System/Library/Frameworks/AppKit.framework/Resources. Do
// `plutil -convert xml1 -o StandardKeyBinding.xml StandardKeyBinding.dict` to
// get something readable.
-- (void)handleAction:(int)commandId
+- (void)handleAction:(ui::TextEditCommand)command
keyCode:(ui::KeyboardCode)keyCode
domCode:(ui::DomCode)domCode
eventFlags:(int)eventFlags;
@@ -369,7 +368,7 @@ base::string16 AttributedSubstringForRangeHelper(
hostedView_->GetWidget()->GetInputMethod()->DispatchKeyEvent(&event);
}
-- (void)handleAction:(int)commandId
+- (void)handleAction:(ui::TextEditCommand)command
keyCode:(ui::KeyboardCode)keyCode
domCode:(ui::DomCode)domCode
eventFlags:(int)eventFlags {
@@ -381,9 +380,8 @@ base::string16 AttributedSubstringForRangeHelper(
// If there's an active TextInputClient, schedule the editing command to be
// performed.
- if (commandId && textInputClient_ &&
- textInputClient_->IsEditCommandEnabled(commandId))
- textInputClient_->SetEditCommandForNextKeyEvent(commandId);
+ if (textInputClient_ && textInputClient_->IsEditCommandEnabled(command))
+ textInputClient_->SetEditCommandForNextKeyEvent(command);
// Generate a synthetic event with the keycode toolkit-views expects.
ui::KeyEvent event(ui::ET_KEY_PRESSED, keyCode, domCode, eventFlags);
@@ -402,48 +400,49 @@ base::string16 AttributedSubstringForRangeHelper(
// validateUserInterfaceItem: before enabling UI that allows these messages to
// be sent. Checking it here would be too late to provide correct UI feedback
// (e.g. there will be no "beep").
- DCHECK(textInputClient_->IsEditCommandEnabled(IDS_APP_UNDO));
- [self handleAction:IDS_APP_UNDO
+ DCHECK(textInputClient_->IsEditCommandEnabled(ui::TextEditCommand::UNDO));
+ [self handleAction:ui::TextEditCommand::UNDO
keyCode:ui::VKEY_Z
domCode:ui::DomCode::US_Z
eventFlags:ui::EF_CONTROL_DOWN];
}
- (void)redo:(id)sender {
- DCHECK(textInputClient_->IsEditCommandEnabled(IDS_APP_REDO));
- [self handleAction:IDS_APP_REDO
+ DCHECK(textInputClient_->IsEditCommandEnabled(ui::TextEditCommand::REDO));
+ [self handleAction:ui::TextEditCommand::REDO
keyCode:ui::VKEY_Z
domCode:ui::DomCode::US_Z
eventFlags:ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN];
}
- (void)cut:(id)sender {
- DCHECK(textInputClient_->IsEditCommandEnabled(IDS_APP_CUT));
- [self handleAction:IDS_APP_CUT
+ DCHECK(textInputClient_->IsEditCommandEnabled(ui::TextEditCommand::CUT));
+ [self handleAction:ui::TextEditCommand::CUT
keyCode:ui::VKEY_X
domCode:ui::DomCode::US_X
eventFlags:ui::EF_CONTROL_DOWN];
}
- (void)copy:(id)sender {
- DCHECK(textInputClient_->IsEditCommandEnabled(IDS_APP_COPY));
- [self handleAction:IDS_APP_COPY
+ DCHECK(textInputClient_->IsEditCommandEnabled(ui::TextEditCommand::COPY));
+ [self handleAction:ui::TextEditCommand::COPY
keyCode:ui::VKEY_C
domCode:ui::DomCode::US_C
eventFlags:ui::EF_CONTROL_DOWN];
}
- (void)paste:(id)sender {
- DCHECK(textInputClient_->IsEditCommandEnabled(IDS_APP_PASTE));
- [self handleAction:IDS_APP_PASTE
+ DCHECK(textInputClient_->IsEditCommandEnabled(ui::TextEditCommand::PASTE));
+ [self handleAction:ui::TextEditCommand::PASTE
keyCode:ui::VKEY_V
domCode:ui::DomCode::US_V
eventFlags:ui::EF_CONTROL_DOWN];
}
- (void)selectAll:(id)sender {
- DCHECK(textInputClient_->IsEditCommandEnabled(IDS_APP_SELECT_ALL));
- [self handleAction:IDS_APP_SELECT_ALL
+ DCHECK(
+ textInputClient_->IsEditCommandEnabled(ui::TextEditCommand::SELECT_ALL));
+ [self handleAction:ui::TextEditCommand::SELECT_ALL
keyCode:ui::VKEY_A
domCode:ui::DomCode::US_A
eventFlags:ui::EF_CONTROL_DOWN];
@@ -636,7 +635,8 @@ base::string16 AttributedSubstringForRangeHelper(
// dispatched as regular key events in doCommandBySelector:.
// views::Textfields are single-line only, map Paragraph and Document commands
-// to Line. Also, Up/Down commands correspond to beginning/end of line.
+// to Line. Also, some up/down commands are mapped to beginning/end of line
+// commands.
// The insertText action message forwards to the TextInputClient unless a menu
// is active. Note that NSResponder's interpretKeyEvents: implementation doesn't
@@ -655,7 +655,7 @@ base::string16 AttributedSubstringForRangeHelper(
}
- (void)moveRight:(id)sender {
- [self handleAction:IDS_MOVE_RIGHT
+ [self handleAction:ui::TextEditCommand::MOVE_RIGHT
keyCode:ui::VKEY_RIGHT
domCode:ui::DomCode::ARROW_RIGHT
eventFlags:0];
@@ -667,21 +667,21 @@ base::string16 AttributedSubstringForRangeHelper(
}
- (void)moveLeft:(id)sender {
- [self handleAction:IDS_MOVE_LEFT
+ [self handleAction:ui::TextEditCommand::MOVE_LEFT
keyCode:ui::VKEY_LEFT
domCode:ui::DomCode::ARROW_LEFT
eventFlags:0];
}
- (void)moveUp:(id)sender {
- [self handleAction:IDS_MOVE_TO_BEGINNING_OF_LINE
+ [self handleAction:ui::TextEditCommand::MOVE_UP
keyCode:ui::VKEY_UP
domCode:ui::DomCode::ARROW_UP
eventFlags:0];
}
- (void)moveDown:(id)sender {
- [self handleAction:IDS_MOVE_TO_END_OF_LINE
+ [self handleAction:ui::TextEditCommand::MOVE_DOWN
keyCode:ui::VKEY_DOWN
domCode:ui::DomCode::ARROW_DOWN
eventFlags:0];
@@ -698,14 +698,14 @@ base::string16 AttributedSubstringForRangeHelper(
}
- (void)moveToBeginningOfLine:(id)sender {
- [self handleAction:IDS_MOVE_TO_BEGINNING_OF_LINE
+ [self handleAction:ui::TextEditCommand::MOVE_TO_BEGINNING_OF_LINE
keyCode:ui::VKEY_HOME
domCode:ui::DomCode::HOME
eventFlags:0];
}
- (void)moveToEndOfLine:(id)sender {
- [self handleAction:IDS_MOVE_TO_END_OF_LINE
+ [self handleAction:ui::TextEditCommand::MOVE_TO_END_OF_LINE
keyCode:ui::VKEY_END
domCode:ui::DomCode::END
eventFlags:0];
@@ -720,28 +720,28 @@ base::string16 AttributedSubstringForRangeHelper(
}
- (void)moveToEndOfDocument:(id)sender {
- [self handleAction:IDS_MOVE_TO_END_OF_LINE
+ [self handleAction:ui::TextEditCommand::MOVE_TO_END_OF_LINE
keyCode:ui::VKEY_END
domCode:ui::DomCode::END
eventFlags:ui::EF_CONTROL_DOWN];
}
- (void)moveToBeginningOfDocument:(id)sender {
- [self handleAction:IDS_MOVE_TO_BEGINNING_OF_LINE
+ [self handleAction:ui::TextEditCommand::MOVE_TO_BEGINNING_OF_LINE
keyCode:ui::VKEY_HOME
domCode:ui::DomCode::HOME
eventFlags:ui::EF_CONTROL_DOWN];
}
- (void)pageDown:(id)sender {
- [self handleAction:IDS_MOVE_TO_END_OF_LINE
+ [self handleAction:ui::TextEditCommand::MOVE_PAGE_DOWN
keyCode:ui::VKEY_NEXT
domCode:ui::DomCode::PAGE_DOWN
eventFlags:0];
}
- (void)pageUp:(id)sender {
- [self handleAction:IDS_MOVE_TO_BEGINNING_OF_LINE
+ [self handleAction:ui::TextEditCommand::MOVE_PAGE_UP
keyCode:ui::VKEY_PRIOR
domCode:ui::DomCode::PAGE_UP
eventFlags:0];
@@ -768,31 +768,35 @@ base::string16 AttributedSubstringForRangeHelper(
}
- (void)moveUpAndModifySelection:(id)sender {
- [self handleAction:IDS_MOVE_TO_BEGINNING_OF_LINE_AND_MODIFY_SELECTION
+ [self handleAction:ui::TextEditCommand::
+ MOVE_TO_BEGINNING_OF_LINE_AND_MODIFY_SELECTION
keyCode:ui::VKEY_UP
domCode:ui::DomCode::ARROW_UP
eventFlags:ui::EF_SHIFT_DOWN];
}
- (void)moveDownAndModifySelection:(id)sender {
- [self handleAction:IDS_MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION
- keyCode:ui::VKEY_DOWN
- domCode:ui::DomCode::ARROW_DOWN
- eventFlags:ui::EF_SHIFT_DOWN];
+ [self
+ handleAction:ui::TextEditCommand::MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION
+ keyCode:ui::VKEY_DOWN
+ domCode:ui::DomCode::ARROW_DOWN
+ eventFlags:ui::EF_SHIFT_DOWN];
}
- (void)moveToBeginningOfLineAndModifySelection:(id)sender {
- [self handleAction:IDS_MOVE_TO_BEGINNING_OF_LINE_AND_MODIFY_SELECTION
+ [self handleAction:ui::TextEditCommand::
+ MOVE_TO_BEGINNING_OF_LINE_AND_MODIFY_SELECTION
keyCode:ui::VKEY_HOME
domCode:ui::DomCode::HOME
eventFlags:ui::EF_SHIFT_DOWN];
}
- (void)moveToEndOfLineAndModifySelection:(id)sender {
- [self handleAction:IDS_MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION
- keyCode:ui::VKEY_END
- domCode:ui::DomCode::END
- eventFlags:ui::EF_SHIFT_DOWN];
+ [self
+ handleAction:ui::TextEditCommand::MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION
+ keyCode:ui::VKEY_END
+ domCode:ui::DomCode::END
+ eventFlags:ui::EF_SHIFT_DOWN];
}
- (void)moveToBeginningOfParagraphAndModifySelection:(id)sender {
@@ -804,84 +808,90 @@ base::string16 AttributedSubstringForRangeHelper(
}
- (void)moveToEndOfDocumentAndModifySelection:(id)sender {
- [self handleAction:IDS_MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION
- keyCode:ui::VKEY_END
- domCode:ui::DomCode::END
- eventFlags:ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN];
+ [self
+ handleAction:ui::TextEditCommand::MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION
+ keyCode:ui::VKEY_END
+ domCode:ui::DomCode::END
+ eventFlags:ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN];
}
- (void)moveToBeginningOfDocumentAndModifySelection:(id)sender {
- [self handleAction:IDS_MOVE_TO_BEGINNING_OF_LINE_AND_MODIFY_SELECTION
+ [self handleAction:ui::TextEditCommand::
+ MOVE_TO_BEGINNING_OF_LINE_AND_MODIFY_SELECTION
keyCode:ui::VKEY_HOME
domCode:ui::DomCode::HOME
eventFlags:ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN];
}
- (void)pageDownAndModifySelection:(id)sender {
- [self handleAction:IDS_MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION
- keyCode:ui::VKEY_NEXT
- domCode:ui::DomCode::PAGE_DOWN
- eventFlags:ui::EF_SHIFT_DOWN];
+ [self
+ handleAction:ui::TextEditCommand::MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION
+ keyCode:ui::VKEY_NEXT
+ domCode:ui::DomCode::PAGE_DOWN
+ eventFlags:ui::EF_SHIFT_DOWN];
}
- (void)pageUpAndModifySelection:(id)sender {
- [self handleAction:IDS_MOVE_TO_BEGINNING_OF_LINE_AND_MODIFY_SELECTION
+ [self handleAction:ui::TextEditCommand::
+ MOVE_TO_BEGINNING_OF_LINE_AND_MODIFY_SELECTION
keyCode:ui::VKEY_PRIOR
domCode:ui::DomCode::PAGE_UP
eventFlags:ui::EF_SHIFT_DOWN];
}
- (void)moveParagraphForwardAndModifySelection:(id)sender {
- [self handleAction:IDS_MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION
- keyCode:ui::VKEY_DOWN
- domCode:ui::DomCode::ARROW_DOWN
- eventFlags:ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN];
+ [self
+ handleAction:ui::TextEditCommand::MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION
+ keyCode:ui::VKEY_DOWN
+ domCode:ui::DomCode::ARROW_DOWN
+ eventFlags:ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN];
}
- (void)moveParagraphBackwardAndModifySelection:(id)sender {
- [self handleAction:IDS_MOVE_TO_BEGINNING_OF_LINE_AND_MODIFY_SELECTION
+ [self handleAction:ui::TextEditCommand::
+ MOVE_TO_BEGINNING_OF_LINE_AND_MODIFY_SELECTION
keyCode:ui::VKEY_UP
domCode:ui::DomCode::ARROW_UP
eventFlags:ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN];
}
- (void)moveWordRight:(id)sender {
- [self handleAction:IDS_MOVE_WORD_RIGHT
+ [self handleAction:ui::TextEditCommand::MOVE_WORD_RIGHT
keyCode:ui::VKEY_RIGHT
domCode:ui::DomCode::ARROW_RIGHT
eventFlags:ui::EF_CONTROL_DOWN];
}
- (void)moveWordLeft:(id)sender {
- [self handleAction:IDS_MOVE_WORD_LEFT
+ [self handleAction:ui::TextEditCommand::MOVE_WORD_LEFT
keyCode:ui::VKEY_LEFT
domCode:ui::DomCode::ARROW_LEFT
eventFlags:ui::EF_CONTROL_DOWN];
}
- (void)moveRightAndModifySelection:(id)sender {
- [self handleAction:IDS_MOVE_RIGHT_AND_MODIFY_SELECTION
+ [self handleAction:ui::TextEditCommand::MOVE_RIGHT_AND_MODIFY_SELECTION
keyCode:ui::VKEY_RIGHT
domCode:ui::DomCode::ARROW_RIGHT
eventFlags:ui::EF_SHIFT_DOWN];
}
- (void)moveLeftAndModifySelection:(id)sender {
- [self handleAction:IDS_MOVE_LEFT_AND_MODIFY_SELECTION
+ [self handleAction:ui::TextEditCommand::MOVE_LEFT_AND_MODIFY_SELECTION
keyCode:ui::VKEY_LEFT
domCode:ui::DomCode::ARROW_LEFT
eventFlags:ui::EF_SHIFT_DOWN];
}
- (void)moveWordRightAndModifySelection:(id)sender {
- [self handleAction:IDS_MOVE_WORD_RIGHT_AND_MODIFY_SELECTION
+ [self handleAction:ui::TextEditCommand::MOVE_WORD_RIGHT_AND_MODIFY_SELECTION
keyCode:ui::VKEY_RIGHT
domCode:ui::DomCode::ARROW_RIGHT
eventFlags:ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN];
}
- (void)moveWordLeftAndModifySelection:(id)sender {
- [self handleAction:IDS_MOVE_WORD_LEFT_AND_MODIFY_SELECTION
+ [self handleAction:ui::TextEditCommand::MOVE_WORD_LEFT_AND_MODIFY_SELECTION
keyCode:ui::VKEY_LEFT
domCode:ui::DomCode::ARROW_LEFT
eventFlags:ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN];
@@ -912,42 +922,42 @@ base::string16 AttributedSubstringForRangeHelper(
// Deletions.
- (void)deleteForward:(id)sender {
- [self handleAction:IDS_DELETE_FORWARD
+ [self handleAction:ui::TextEditCommand::DELETE_FORWARD
keyCode:ui::VKEY_DELETE
domCode:ui::DomCode::DEL
eventFlags:0];
}
- (void)deleteBackward:(id)sender {
- [self handleAction:IDS_DELETE_BACKWARD
+ [self handleAction:ui::TextEditCommand::DELETE_BACKWARD
keyCode:ui::VKEY_BACK
domCode:ui::DomCode::BACKSPACE
eventFlags:0];
}
- (void)deleteWordForward:(id)sender {
- [self handleAction:IDS_DELETE_WORD_FORWARD
+ [self handleAction:ui::TextEditCommand::DELETE_WORD_FORWARD
keyCode:ui::VKEY_DELETE
domCode:ui::DomCode::DEL
eventFlags:ui::EF_CONTROL_DOWN];
}
- (void)deleteWordBackward:(id)sender {
- [self handleAction:IDS_DELETE_WORD_BACKWARD
+ [self handleAction:ui::TextEditCommand::DELETE_WORD_BACKWARD
keyCode:ui::VKEY_BACK
domCode:ui::DomCode::BACKSPACE
eventFlags:ui::EF_CONTROL_DOWN];
}
- (void)deleteToBeginningOfLine:(id)sender {
- [self handleAction:IDS_DELETE_TO_BEGINNING_OF_LINE
+ [self handleAction:ui::TextEditCommand::DELETE_TO_BEGINNING_OF_LINE
keyCode:ui::VKEY_BACK
domCode:ui::DomCode::BACKSPACE
eventFlags:ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN];
}
- (void)deleteToEndOfLine:(id)sender {
- [self handleAction:IDS_DELETE_TO_END_OF_LINE
+ [self handleAction:ui::TextEditCommand::DELETE_TO_END_OF_LINE
keyCode:ui::VKEY_DELETE
domCode:ui::DomCode::DEL
eventFlags:ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN];
@@ -964,7 +974,7 @@ base::string16 AttributedSubstringForRangeHelper(
// Cancellation.
- (void)cancelOperation:(id)sender {
- [self handleAction:0
+ [self handleAction:ui::TextEditCommand::INVALID_COMMAND
keyCode:ui::VKEY_ESCAPE
domCode:ui::DomCode::ESCAPE
eventFlags:0];
@@ -1162,17 +1172,18 @@ base::string16 AttributedSubstringForRangeHelper(
SEL action = [item action];
if (action == @selector(undo:))
- return textInputClient_->IsEditCommandEnabled(IDS_APP_UNDO);
+ return textInputClient_->IsEditCommandEnabled(ui::TextEditCommand::UNDO);
if (action == @selector(redo:))
- return textInputClient_->IsEditCommandEnabled(IDS_APP_REDO);
+ return textInputClient_->IsEditCommandEnabled(ui::TextEditCommand::REDO);
if (action == @selector(cut:))
- return textInputClient_->IsEditCommandEnabled(IDS_APP_CUT);
+ return textInputClient_->IsEditCommandEnabled(ui::TextEditCommand::CUT);
if (action == @selector(copy:))
- return textInputClient_->IsEditCommandEnabled(IDS_APP_COPY);
+ return textInputClient_->IsEditCommandEnabled(ui::TextEditCommand::COPY);
if (action == @selector(paste:))
- return textInputClient_->IsEditCommandEnabled(IDS_APP_PASTE);
+ return textInputClient_->IsEditCommandEnabled(ui::TextEditCommand::PASTE);
if (action == @selector(selectAll:))
- return textInputClient_->IsEditCommandEnabled(IDS_APP_SELECT_ALL);
+ return textInputClient_->IsEditCommandEnabled(
+ ui::TextEditCommand::SELECT_ALL);
return NO;
}

Powered by Google App Engine
This is Rietveld 408576698