From 78395cc0e636c2d7441311e1c207ba9bdedb6e72 Mon Sep 17 00:00:00 2001 From: Michelle Goossens Date: Fri, 26 Feb 2021 20:04:29 +0000 Subject: [PATCH] Bug 1692339 - Add a "Redo" option underneath "Undo" in context menu for form fields r=emalysz Differential Revision: https://phabricator.services.mozilla.com/D106565 --- browser/base/content/browser-context.inc | 5 ++++- browser/base/content/nsContextMenu.js | 3 ++- .../content/test/contextMenu/browser_contextmenu.js | 7 +++++++ .../test/contextMenu/browser_contextmenu_input.js | 12 ++++++++++++ .../contextMenu/browser_contextmenu_spellcheck.js | 6 ++++++ browser/components/search/content/searchbar.js | 1 + toolkit/content/editMenuOverlay.js | 1 + toolkit/content/widgets/moz-input-box.js | 1 + 8 files changed, 34 insertions(+), 2 deletions(-) diff --git a/browser/base/content/browser-context.inc b/browser/base/content/browser-context.inc index 50e170474865..dea94ee50812 100644 --- a/browser/base/content/browser-context.inc +++ b/browser/base/content/browser-context.inc @@ -270,7 +270,10 @@ - + + diff --git a/browser/base/content/nsContextMenu.js b/browser/base/content/nsContextMenu.js index 6eecc61042f2..3d5bf592abbc 100644 --- a/browser/base/content/nsContextMenu.js +++ b/browser/base/content/nsContextMenu.js @@ -789,7 +789,8 @@ class nsContextMenu { goUpdateGlobalEditMenuItems(); this.showItem("context-undo", this.onTextInput); - this.showItem("context-sep-undo", this.onTextInput); + this.showItem("context-redo", this.onTextInput); + this.showItem("context-sep-redo", this.onTextInput); this.showItem("context-cut", this.onTextInput); this.showItem("context-copy", this.isContentSelected || this.onTextInput); this.showItem("context-paste", this.onTextInput); diff --git a/browser/base/content/test/contextMenu/browser_contextmenu.js b/browser/base/content/test/contextMenu/browser_contextmenu.js index 5594f07b4fce..9ea15f937806 100644 --- a/browser/base/content/test/contextMenu/browser_contextmenu.js +++ b/browser/base/content/test/contextMenu/browser_contextmenu.js @@ -1056,6 +1056,7 @@ add_task(async function test_textarea() { /* yield test_contextmenu("#test-textarea", ["context-undo", false, + "context-redo", false, "---", null, "context-cut", true, "context-copy", true, @@ -1082,6 +1083,7 @@ add_task(async function test_textarea_spellcheck() { "spell-add-to-dictionary", true, "---", null, "context-undo", false, + "context-redo", false, "---", null, "context-cut", true, "context-copy", true, @@ -1122,6 +1124,7 @@ add_task(async function test_undo_add_to_dictionary() { ["spell-undo-add-to-dictionary", true, "---", null, "context-undo", false, + "context-redo", false, "---", null, "context-cut", true, "context-copy", true, @@ -1155,6 +1158,7 @@ add_task(async function test_contenteditable() { "spell-add-to-dictionary", true, "---", null, "context-undo", false, + "context-redo", false, "---", null, "context-cut", true, "context-copy", true, @@ -1618,6 +1622,7 @@ add_task(async function test_select_input_text() { /* yield test_contextmenu("#test-select-input-text", ["context-undo", false, + "context-redo", false, "---", null, "context-cut", true, "context-copy", true, @@ -1650,6 +1655,7 @@ add_task(async function test_select_input_text_password() { /* yield test_contextmenu("#test-select-input-text-type-password", ["context-undo", false, + "context-redo", false, "---", null, "context-cut", true, "context-copy", true, @@ -1772,6 +1778,7 @@ add_task(async function test_input_spell_false() { /* yield test_contextmenu("#test-contenteditable-spellcheck-false", ["context-undo", false, + "context-redo", false, "---", null, "context-cut", true, "context-copy", true, diff --git a/browser/base/content/test/contextMenu/browser_contextmenu_input.js b/browser/base/content/test/contextMenu/browser_contextmenu_input.js index 799c57674dfd..6bf20076369c 100644 --- a/browser/base/content/test/contextMenu/browser_contextmenu_input.js +++ b/browser/base/content/test/contextMenu/browser_contextmenu_input.js @@ -24,6 +24,8 @@ add_task(async function test_text_input() { await test_contextmenu("#input_text", [ "context-undo", false, + "context-redo", + false, "---", null, "context-cut", @@ -49,6 +51,8 @@ add_task(async function test_text_input_disabled() { [ "context-undo", false, + "context-redo", + false, "---", null, "context-cut", @@ -97,6 +101,8 @@ add_task(async function test_password_input() { null, "context-undo", false, + "context-redo", + false, "---", null, "context-cut", @@ -162,6 +168,8 @@ add_task(async function test_tel_email_url_number_input() { [ "context-undo", false, + "context-redo", + false, "---", null, "context-cut", @@ -254,6 +262,8 @@ add_task(async function test_search_input() { [ "context-undo", false, + "context-redo", + false, "---", null, "context-cut", @@ -290,6 +300,8 @@ add_task(async function test_text_input_readonly() { [ "context-undo", false, + "context-redo", + false, "---", null, "context-cut", diff --git a/browser/base/content/test/contextMenu/browser_contextmenu_spellcheck.js b/browser/base/content/test/contextMenu/browser_contextmenu_spellcheck.js index 93b52dd1f699..5a61baaa14b4 100644 --- a/browser/base/content/test/contextMenu/browser_contextmenu_spellcheck.js +++ b/browser/base/content/test/contextMenu/browser_contextmenu_spellcheck.js @@ -29,6 +29,8 @@ add_task(async function test_text_input_spellcheck() { [ "context-undo", false, + "context-redo", + false, "---", null, "context-cut", @@ -88,6 +90,8 @@ add_task(async function test_text_input_spellcheckwrong() { null, "context-undo", null, + "context-redo", + null, "---", null, "context-cut", @@ -123,6 +127,8 @@ add_task(async function test_text_input_spellcheckwrong() { const kCorrectItems = [ "context-undo", false, + "context-redo", + false, "---", null, "context-cut", diff --git a/browser/components/search/content/searchbar.js b/browser/components/search/content/searchbar.js index 234df9d77735..54c2e97443a8 100644 --- a/browser/components/search/content/searchbar.js +++ b/browser/components/search/content/searchbar.js @@ -815,6 +815,7 @@ _buildContextMenu() { const raw = ` + diff --git a/toolkit/content/editMenuOverlay.js b/toolkit/content/editMenuOverlay.js index b912a962503e..2d018bb78f7b 100644 --- a/toolkit/content/editMenuOverlay.js +++ b/toolkit/content/editMenuOverlay.js @@ -114,6 +114,7 @@ window.addEventListener("contextmenu", e => { MozXULElement.parseXULToFragment(` + diff --git a/toolkit/content/widgets/moz-input-box.js b/toolkit/content/widgets/moz-input-box.js index 2dce8c2c2022..7ef1e4534460 100644 --- a/toolkit/content/widgets/moz-input-box.js +++ b/toolkit/content/widgets/moz-input-box.js @@ -14,6 +14,7 @@ get editMenuItems() { return ` +