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

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

Issue 1912993002: MacViews: Implement NSResponder deletion action messages. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 6d72fef5cf7ece1d35262f4b7b1a572622710f05..79907a44a9837f55222e45caf02676919dcbf9c3 100644
--- a/ui/views/cocoa/bridged_content_view.mm
+++ b/ui/views/cocoa/bridged_content_view.mm
@@ -693,19 +693,57 @@ gfx::Rect GetFirstRectForRangeHelper(const ui::TextInputClient* client,
}
- (void)deleteWordForward:(id)sender {
- [self handleAction:IDS_DELETE_WORD_FORWARD
+ // In case of a non-empty selection, delete the selection.
+ int command = [self selectedRange].length ? IDS_DELETE_FORWARD
karandeepb 2016/04/22 02:02:46 For other platforms, this case is handled in Textf
tapted 2016/04/26 05:46:54 Yeah I like the idea of moving this into ExecuteCo
karandeepb 2016/04/29 01:52:48 Done. CL here - https://codereview.chromium.org/19
+ : IDS_DELETE_WORD_FORWARD;
+ [self handleAction:command
keyCode:ui::VKEY_DELETE
domCode:ui::DomCode::DEL
eventFlags:ui::EF_CONTROL_DOWN];
}
- (void)deleteWordBackward:(id)sender {
- [self handleAction:IDS_DELETE_WORD_BACKWARD
+ // In case of a non-empty selection, delete the selection.
+ int command = [self selectedRange].length ? IDS_DELETE_BACKWARD
+ : IDS_DELETE_WORD_BACKWARD;
+ [self handleAction:command
keyCode:ui::VKEY_BACK
domCode:ui::DomCode::BACKSPACE
eventFlags:ui::EF_CONTROL_DOWN];
}
+- (void)deleteToBeginningOfLine:(id)sender {
+ // In case of a non-empty selection, delete the selection.
+ int command = [self selectedRange].length ? IDS_DELETE_BACKWARD
+ : IDS_DELETE_TO_BEGINNING_OF_LINE;
+ [self handleAction:command
+ keyCode:ui::VKEY_BACK
+ domCode:ui::DomCode::BACKSPACE
+ eventFlags:ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN];
+}
+
+- (void)deleteToEndOfLine:(id)sender {
+ // In case of a non-empty selection, delete the selection.
+ int command = [self selectedRange].length ? IDS_DELETE_FORWARD
+ : IDS_DELETE_TO_END_OF_LINE;
+ [self handleAction:command
+ keyCode:ui::VKEY_DELETE
+ domCode:ui::DomCode::DEL
+ eventFlags:ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN];
+}
+
+- (void)deleteToBeginningOfParagraph:(id)sender {
+ // Since we currently only support single line textfields, forward the action
tapted 2016/04/26 05:46:54 Generally it's bad to repeat comments - just like
karandeepb 2016/04/29 01:52:48 Done. If it's ok, will add the movement commands i
+ // message to deleteToBeginningOfLine:.
+ [self deleteToBeginningOfLine:sender];
+}
+
+- (void)deleteToEndOfParagraph:(id)sender {
+ // Since we currently only support single line textfields, forward the action
+ // message to deleteToEndOfLine:.
+ [self deleteToEndOfLine:sender];
+}
+
// Cancellation.
- (void)cancelOperation:(id)sender {
« no previous file with comments | « no previous file | ui/views/cocoa/bridged_native_widget_unittest.mm » ('j') | ui/views/cocoa/bridged_native_widget_unittest.mm » ('J')

Powered by Google App Engine
This is Rietveld 408576698