Backed out changeset e144f4d450c7 (bug 1325778) for causing perma failing test_insecure_form_field_autocomplete.html CLOSED TREE
authorNoemi Erli <nerli@mozilla.com>
Thu, 28 Mar 2019 07:02:21 +0200
changeset 466507 4503d8e8ee40c25bae1f0d91432a16282e1277b0
parent 466506 2e6a1dcc4205f8e27b6ae68e057da533b3f0d22a
child 466508 1aa2a852f2fd0ece3a15285518b579afe424b702
push id35768
push useropoprus@mozilla.com
push dateThu, 28 Mar 2019 09:55:54 +0000
treeherdermozilla-central@c045dd97faf2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1325778
milestone68.0a1
backs oute144f4d450c760b0bc882f403d54c2b84e2314de
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset e144f4d450c7 (bug 1325778) for causing perma failing test_insecure_form_field_autocomplete.html CLOSED TREE
toolkit/components/passwordmgr/test/mochitest/test_insecure_form_field_autocomplete.html
--- a/toolkit/components/passwordmgr/test/mochitest/test_insecure_form_field_autocomplete.html
+++ b/toolkit/components/passwordmgr/test/mochitest/test_insecure_form_field_autocomplete.html
@@ -439,19 +439,17 @@ add_task(async function test_form1_delet
   let shownPromise = promiseACShown();
   synthesizeKey("KEY_ArrowDown"); // open
   await shownPromise;
 
   synthesizeKey("KEY_ArrowDown"); // skip insecure warning
   // Delete the second entry (of 3), "testuser3"
   synthesizeKey("KEY_ArrowDown");
   synthesizeKey("KEY_ArrowDown");
-  let storageChanged = promiseStorageChanged(["removeLogin"]);
   synthesizeKey("KEY_Delete", {shiftKey: true});
-  await storageChanged;
   checkACForm("", "");
   let numLogins = LoginManager.countLogins("http://mochi.test:8888", "", null);
   is(numLogins, 3, "Correct number of logins after deleting one");
   synthesizeKey("KEY_Enter");
   await promiseFormsProcessed();
   checkACForm("zzzuser4", "zzzpass4");
 });
 
@@ -475,19 +473,17 @@ add_task(async function test_form1_delet
   synthesizeKey("KEY_ArrowDown"); // open
   await shownPromise;
 
   synthesizeKey("KEY_ArrowDown"); // skip insecure warning
   // test 54
   // Delete the last entry (of 2), "zzzuser4"
   synthesizeKey("KEY_ArrowDown");
   synthesizeKey("KEY_ArrowDown");
-  let storageChanged = promiseStorageChanged(["removeLogin"]);
   synthesizeKey("KEY_Delete", {shiftKey: true});
-  await storageChanged;
   checkACForm("", "");
   let numLogins = LoginManager.countLogins("http://mochi.test:8888", "", null);
   is(numLogins, 2, "Correct number of logins after deleting one");
   synthesizeKey("KEY_ArrowDown"); // skip insecure warning
   synthesizeKey("KEY_ArrowDown");
   synthesizeKey("KEY_Enter");
   await promiseFormsProcessed();
   checkACForm("testuser2", "testpass2");
@@ -512,32 +508,28 @@ add_task(async function test_form1_check
   let shownPromise = promiseACShown();
   synthesizeKey("KEY_ArrowDown"); // open
   await shownPromise;
 
   synthesizeKey("KEY_ArrowDown"); // skip insecure warning
   // test 56
   // Delete the only remaining entry, "testuser2"
   synthesizeKey("KEY_ArrowDown");
-  let storageChanged = promiseStorageChanged(["removeLogin", "removeLogin"]);
   synthesizeKey("KEY_Delete", {shiftKey: true});
   checkACForm("", "");
   let numLogins = LoginManager.countLogins("http://mochi.test:8888", "", null);
   is(numLogins, 1, "Correct number of logins after deleting one");
 
   // remove the login that's not shown in the list.
   setupScript.sendSyncMessage("removeLogin", "login0");
-  await storageChanged;
 });
 
 // Tests for single-user forms for ignoring autocomplete=off
 add_task(async function test_form2() {
-  let storageChanged = promiseStorageChanged(["addLogin"]);
   setupScript.sendSyncMessage("addLogin", "login5");
-  await storageChanged;
   await setFormAndWaitForFieldFilled(`
     <!-- other forms test single logins, with autocomplete=off set -->
     <form id="form2" action="http://autocomplete2" onsubmit="return false;">
       <input  type="text"       name="uname">
       <input  type="password"   name="pword" autocomplete="off">
       <button type="submit">Submit</button>
     </form>`, {fieldSelector: `input[name="uname"]`, fieldValue: "singleuser5"});
 
@@ -658,26 +650,22 @@ add_task(async function test_form6_chang
   synthesizeKey("KEY_ArrowRight");
   synthesizeKey("X", {shiftKey: true});
   // Trigger the 'blur' event on uname
   pword.focus();
   await spinEventLoop();
   checkACForm("singleuser5X", "singlepass5");
   uname.focus();
 
-  let storageChanged = promiseStorageChanged(["removeLogin"]);
   setupScript.sendSyncMessage("removeLogin", "login5");
-  await storageChanged;
 });
 
 add_task(async function test_form7() {
-  let storageChanged = promiseStorageChanged(["addLogin", "addLogin"]);
   setupScript.sendSyncMessage("addLogin", "login6A");
   setupScript.sendSyncMessage("addLogin", "login6B");
-  await storageChanged;
   await setFormAndWaitForFieldFilled(`
     <!-- This form will be manipulated to insert a different username field. -->
     <form id="form7" action="http://autocomplete3" onsubmit="return false;">
       <input  type="text"       name="uname">
       <input  type="password"   name="pword">
       <button type="submit">Submit</button>
     </form>`, {fieldSelector: `input[name="uname"]`, fieldValue: ""});
 
@@ -691,19 +679,17 @@ add_task(async function test_form7() {
   newField.setAttribute("type", "text");
   newField.setAttribute("name", "uname2");
   pword.parentNode.insertBefore(newField, pword);
   is($_(7, "uname2").value, "", "Verifying empty uname2");
 
   // Delete login6B. It was created just to prevent filling in a login
   // automatically, removing it makes it more likely that we'll catch a
   // future regression with form filling here.
-  storageChanged = promiseStorageChanged(["removeLogin"]);
   setupScript.sendSyncMessage("removeLogin", "login6B");
-  await storageChanged;
 });
 
 add_task(async function test_form7_2() {
   restoreForm();
   let shownPromise = promiseACShown();
   synthesizeKey("KEY_ArrowDown"); // open
   await shownPromise;
 
@@ -715,25 +701,21 @@ add_task(async function test_form7_2() {
   // The form changes, so we expect the old username field to get the
   // selected autocomplete value, but neither the new username field nor
   // the password field should have any values filled in.
   await spinEventLoop();
   checkACForm("form7user1", "");
   is($_(7, "uname2").value, "", "Verifying empty uname2");
   restoreForm(); // clear field, so reloading test doesn't fail
 
-  let storageChanged = promiseStorageChanged(["removeLogin"]);
   setupScript.sendSyncMessage("removeLogin", "login6A");
-  await storageChanged;
 });
 
 add_task(async function test_form8() {
-  let storageChanged = promiseStorageChanged(["addLogin"]);
   setupScript.sendSyncMessage("addLogin", "login7");
-  await storageChanged;
   await setFormAndWaitForFieldFilled(`
     <!-- This form will be manipulated to insert a different username field. -->
     <form id="form7" action="http://autocomplete3" onsubmit="return false;">
       <input  type="text"       name="uname">
       <input  type="password"   name="pword">
       <button type="submit">Submit</button>
     </form>
     <!-- test for no autofill after onblur with blank username -->
@@ -758,25 +740,22 @@ add_task(async function test_form8_blur(
 
 add_task(async function test_form8_2() {
   checkACForm("", "");
   restoreForm();
 });
 
 add_task(async function test_form8_3() {
   checkACForm("", "");
+  setupScript.sendSyncMessage("removeLogin", "login7");
 });
 
 add_task(async function test_form9_filtering() {
-  let storageChanged = promiseStorageChanged(["removeLogin", "addLogin", "addLogin"]);
-  setupScript.sendSyncMessage("removeLogin", "login7");
   setupScript.sendSyncMessage("addLogin", "login8A");
   setupScript.sendSyncMessage("addLogin", "login8B");
-  await storageChanged;
-
   await setFormAndWaitForFieldFilled(`
     <!-- test autocomplete dropdown -->
     <form id="form9" action="http://autocomplete5" onsubmit="return false;">
       <input  type="text"       name="uname">
       <input  type="password"   name="pword">
       <button type="submit">Submit</button>
     </form>`, {fieldSelector: `input[name="uname"]`, fieldValue: ""});
 
@@ -806,19 +785,17 @@ add_task(async function test_form9_filte
   await promiseFormsProcessed();
   checkACForm("form9userAAB", "form9pass");
 });
 
 add_task(async function test_form9_autocomplete_cache() {
   // Note that this addLogin call will only be seen by the autocomplete
   // attempt for the synthesizeKey if we do not successfully cache the
   // autocomplete results.
-  let storageChanged = promiseStorageChanged(["addLogin"]);
   setupScript.sendSyncMessage("addLogin", "login8C");
-  await storageChanged;
   uname.focus();
   let promise2 = notifyMenuChanged(2);
   let shownPromise = promiseACShown();
   sendString("z");
   let results = await promise2;
   await shownPromise;
   checkAutoCompleteResults(results,
                            ["This connection is not secure. Logins entered here could be compromised. Learn More"],
@@ -827,27 +804,23 @@ add_task(async function test_form9_autoc
   // check that empty results are cached - bug 496466
   promise2 = notifyMenuChanged(2);
   sendString("z");
   results = await promise2;
   checkAutoCompleteResults(results,
                            ["This connection is not secure. Logins entered here could be compromised. Learn More"],
                            "mochi.test",
                            "Check popup only has the footer and insecure warning");
-  storageChanged = promiseStorageChanged(["removeLogin", "removeLogin", "removeLogin"]);
   setupScript.sendSyncMessage("removeLogin", "login8A");
   setupScript.sendSyncMessage("removeLogin", "login8B");
   setupScript.sendSyncMessage("removeLogin", "login8C");
-  await storageChanged;
 });
 
 add_task(async function test_form11_recipes() {
-  let storageChanged = promiseStorageChanged(["addLogin"]);
   setupScript.sendSyncMessage("addLogin", "login10");
-  await storageChanged;
   await loadRecipes({
     siteRecipes: [{
       "hosts": ["mochi.test:8888"],
       "usernameSelector": "input[name='1']",
       "passwordSelector": "input[name='2']",
     }],
   });
   await setFormAndWaitForFieldFilled(`