Bug 1455087 - Support deleting autofill records with the delete key. r?MattN draft
authormbkupfer <mbkupfer@gmail.com>
Thu, 19 Apr 2018 15:48:45 -0700
changeset 785332 c8a1b60f217faba270e56e0c2f1fbc5aaedee422
parent 785215 e92c50084268769387245e8318cb96acd7a97ab4
child 785372 3900f58eefc751149136ef7c14035755cb996861
push id107200
push userbmo:mbkupfer@gmail.com
push dateThu, 19 Apr 2018 22:49:18 +0000
reviewersMattN
bugs1455087
milestone61.0a1
Bug 1455087 - Support deleting autofill records with the delete key. r?MattN MozReview-Commit-ID: 3Oyl7MmmUvM
browser/extensions/formautofill/test/browser/browser.ini
browser/extensions/formautofill/test/browser/browser_manageAddressesDialog.js
browser/extensions/formautofill/test/browser/browser_manageCreditCardsDialog.js
--- a/browser/extensions/formautofill/test/browser/browser.ini
+++ b/browser/extensions/formautofill/test/browser/browser.ini
@@ -19,8 +19,9 @@ skip-if = (os == "linux") || (os == "mac
 [browser_editCreditCardDialog.js]
 [browser_first_time_use_doorhanger.js]
 [browser_insecure_form.js]
 [browser_manageAddressesDialog.js]
 [browser_manageCreditCardsDialog.js]
 [browser_privacyPreferences.js]
 [browser_submission_in_private_mode.js]
 [browser_update_doorhanger.js]
+[browser_mbk_test.js]
--- a/browser/extensions/formautofill/test/browser/browser_manageAddressesDialog.js
+++ b/browser/extensions/formautofill/test/browser/browser_manageAddressesDialog.js
@@ -62,16 +62,33 @@ add_task(async function test_removingSin
 
   EventUtils.synthesizeMouseAtCenter(btnRemove, {}, win);
   await BrowserTestUtils.waitForEvent(selRecords, "RecordsRemoved");
   is(selRecords.length, 0, "All addresses are removed");
 
   win.close();
 });
 
+add_task(async function test_removingAdressViaKeyboardDelete() {
+  await saveAddress(TEST_ADDRESS_1);
+  let win = window.openDialog(MANAGE_ADDRESSES_DIALOG_URL, null, DIALOG_SIZE);
+  await waitForFocusAndFormReady(win);
+
+  let selRecords = win.document.querySelector(TEST_SELECTORS.selRecords);
+
+  is(selRecords.length, 1, "One address");
+
+  EventUtils.synthesizeMouseAtCenter(selRecords.children[0], {}, win);
+  EventUtils.synthesizeKey("VK_DELETE", {}, win);
+  await BrowserTestUtils.waitForEvent(selRecords, "RecordsRemoved");
+  is(selRecords.length, 0, "No addresses left");
+
+  win.close();
+});
+
 add_task(async function test_addressesDialogWatchesStorageChanges() {
   let win = window.openDialog(MANAGE_ADDRESSES_DIALOG_URL, null, DIALOG_SIZE);
   await waitForFocusAndFormReady(win);
 
   let selRecords = win.document.querySelector(TEST_SELECTORS.selRecords);
 
   await saveAddress(TEST_ADDRESS_1);
   await BrowserTestUtils.waitForEvent(selRecords, "RecordsLoaded");
--- a/browser/extensions/formautofill/test/browser/browser_manageCreditCardsDialog.js
+++ b/browser/extensions/formautofill/test/browser/browser_manageCreditCardsDialog.js
@@ -69,16 +69,33 @@ add_task(async function test_removingSin
 
   EventUtils.synthesizeMouseAtCenter(btnRemove, {}, win);
   await BrowserTestUtils.waitForEvent(selRecords, "RecordsRemoved");
   is(selRecords.length, 0, "All credit cards are removed");
 
   win.close();
 });
 
+add_task(async function test_removingCreditCardsViaKeyboardDelete() {
+  await saveCreditCard(TEST_CREDIT_CARD_1);
+  let win = window.openDialog(MANAGE_CREDIT_CARDS_DIALOG_URL, null, DIALOG_SIZE);
+  await waitForFocusAndFormReady(win);
+
+  let selRecords = win.document.querySelector(TEST_SELECTORS.selRecords);
+
+  is(selRecords.length, 1, "One credit card");
+
+  EventUtils.synthesizeMouseAtCenter(selRecords.children[0], {}, win);
+  EventUtils.synthesizeKey("VK_DELETE", {}, win);
+  await BrowserTestUtils.waitForEvent(selRecords, "RecordsRemoved");
+  is(selRecords.length, 0, "No credit cards left");
+
+  win.close();
+});
+
 add_task(async function test_creditCardsDialogWatchesStorageChanges() {
   let win = window.openDialog(MANAGE_CREDIT_CARDS_DIALOG_URL, null, DIALOG_SIZE);
   await waitForFocusAndFormReady(win);
 
   let selRecords = win.document.querySelector(TEST_SELECTORS.selRecords);
 
   await saveCreditCard(TEST_CREDIT_CARD_1);
   await BrowserTestUtils.waitForEvent(selRecords, "RecordsLoaded");