From 00acc7206be54ca8046778caa0818120c979237a Mon Sep 17 00:00:00 2001 From: Neil Deakin Date: Mon, 11 Jul 2022 08:58:35 +0000 Subject: [PATCH] Bug 968104, paste unformatted shortcut (shift+ctrl/cmd+v) should work in plain text contexts, such as input and textarea, r=masayuki Differential Revision: https://phabricator.services.mozilla.com/D150806 --- dom/events/ShortcutKeyDefinitions.cpp | 29 ++++- .../test/gtest/TestShortcutKeyDefinitions.cpp | 14 +++ editor/libeditor/tests/mochitest.ini | 1 + .../tests/test_paste_no_formatting.html | 108 ++++++++++++++++++ 4 files changed, 147 insertions(+), 5 deletions(-) create mode 100644 editor/libeditor/tests/test_paste_no_formatting.html diff --git a/dom/events/ShortcutKeyDefinitions.cpp b/dom/events/ShortcutKeyDefinitions.cpp index 18ca092be9e3..3f34f4524044 100644 --- a/dom/events/ShortcutKeyDefinitions.cpp +++ b/dom/events/ShortcutKeyDefinitions.cpp @@ -178,6 +178,12 @@ ShortcutKeyData ShortcutKeys::sInputHandlers[] = { {u"keypress", nullptr, u"z", u"accel", u"cmd_undo"}, // Win, macOS, Linux, Android, Emacs {u"keypress", nullptr, u"z", u"accel,shift", u"cmd_redo"}, // Win, macOS, Linux, Android, Emacs + {u"keypress", nullptr, u"v", u"accel,shift", u"cmd_paste"}, // Win, macOS, Linux, Android, Emacs +// Mac uses Option+Shift+Command+V for Paste and Match Style +#if defined(MOZ_WIDGET_COCOA) + {u"keypress", nullptr, u"v", u"accel,alt,shift", u"cmd_paste"}, // macOS +#endif // MOZ_WIDGET_COCOA + #if defined(XP_WIN) || defined(MOZ_WIDGET_GTK) ||\ defined(USE_EMACS_KEY_BINDINGS) {u"keypress", nullptr, u"y", u"accel", u"cmd_redo"}, // Win, Linux, Emacs @@ -315,6 +321,12 @@ ShortcutKeyData ShortcutKeys::sTextAreaHandlers[] = { {u"keypress", u"VK_INSERT", nullptr, u"shift", u"cmd_paste"}, // Win, Emacs #endif // XP_WIN || USE_EMACS_KEY_BINDINGS + {u"keypress", nullptr, u"v", u"accel,shift", u"cmd_paste"}, // Win, macOS, Linux, Android, Emacs +// Mac uses Option+Shift+Command+V for Paste and Match Style +#if defined(MOZ_WIDGET_COCOA) + {u"keypress", nullptr, u"v", u"accel,alt,shift", u"cmd_paste"}, // macOS +#endif // MOZ_WIDGET_COCOA + /************************************************************************** * Delete key in +
+
Text
+ +
Some Bold Text
+ +