From 56276696863402914ece14a510cbac2084f91117 Mon Sep 17 00:00:00 2001 From: Tim Taubert Date: Thu, 22 Aug 2013 09:22:18 +0200 Subject: [PATCH] Backed out changeset 42be7b929812 (bug 355063) --- browser/base/content/content.js | 1 - modules/libpref/src/init/all.js | 1 - .../passwordmgr/LoginManagerContent.jsm | 70 +------------------ .../components/passwordmgr/test/Makefile.in | 1 - ...est_basic_form_observer_autofillForms.html | 59 ++++++++-------- .../test/test_basic_form_pwevent.html | 66 ----------------- .../passwordmgr/test/test_maxforms_1.html | 7 +- .../passwordmgr/test/test_maxforms_2.html | 7 +- .../passwordmgr/test/test_maxforms_3.html | 7 +- 9 files changed, 35 insertions(+), 184 deletions(-) delete mode 100644 toolkit/components/passwordmgr/test/test_basic_form_pwevent.html diff --git a/browser/base/content/content.js b/browser/base/content/content.js index 824b29a2ac4d..c75a8a40e353 100644 --- a/browser/base/content/content.js +++ b/browser/base/content/content.js @@ -48,7 +48,6 @@ if (Services.prefs.getBoolPref("browser.tabs.remote")) { }); addEventListener("DOMFormHasPassword", function(event) { InsecurePasswordUtils.checkForInsecurePasswords(event.target); - LoginManagerContent.onFormPassword(event); }); addEventListener("DOMAutoComplete", function(event) { LoginManagerContent.onUsernameInput(event); diff --git a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js index ea9f78fb52f1..98ed61d1ee8f 100644 --- a/modules/libpref/src/init/all.js +++ b/modules/libpref/src/init/all.js @@ -3909,7 +3909,6 @@ pref("signon.SignonFileName3", "signons3.txt"); // obsolete pref("signon.autofillForms", true); pref("signon.autologin.proxy", false); pref("signon.debug", false); -pref("signon.useDOMFormHasPassword", true); // Satchel (Form Manager) prefs pref("browser.formfill.debug", false); diff --git a/toolkit/components/passwordmgr/LoginManagerContent.jsm b/toolkit/components/passwordmgr/LoginManagerContent.jsm index f22bacf9bee8..75f24cee19e2 100644 --- a/toolkit/components/passwordmgr/LoginManagerContent.jsm +++ b/toolkit/components/passwordmgr/LoginManagerContent.jsm @@ -13,8 +13,7 @@ Cu.import("resource://gre/modules/XPCOMUtils.jsm"); Cu.import("resource://gre/modules/Services.jsm"); Cu.import("resource://gre/modules/PrivateBrowsingUtils.jsm"); -var gEnabled = false, gDebug = false, gAutofillForms = true; // these mirror signon.* prefs -var gUseDOMFormHasPassword = false; // use DOMFormHasPassword event for autofill +var gEnabled = false, gDebug = false; // these mirror signon.* prefs function log(...pieces) { function generateLogMessage(args) { @@ -71,8 +70,6 @@ var observer = { onPrefChange : function() { gDebug = Services.prefs.getBoolPref("signon.debug"); gEnabled = Services.prefs.getBoolPref("signon.rememberSignons"); - gAutofillForms = Services.prefs.getBoolPref("signon.autofillForms"); - gUseDOMFormHasPassword = Services.prefs.getBoolPref("signon.useDOMFormHasPassword"); }, }; @@ -95,10 +92,6 @@ var LoginManagerContent = { }, onContentLoaded : function (event) { - // If we're using the new DOMFormHasPassword event, don't fill at pageload. - if (gUseDOMFormHasPassword) - return; - if (!event.isTrusted) return; @@ -115,64 +108,6 @@ var LoginManagerContent = { }, - onFormPassword: function (event) { - // If we're not using the new DOMFormHasPassword event, only fill at pageload. - if (!gUseDOMFormHasPassword) - return; - - if (!event.isTrusted) - return; - - if (!gEnabled) - return; - - let form = event.target; - let doc = form.ownerDocument; - - log("onFormPassword for", doc.documentURI); - - // If there are no logins for this site, bail out now. - let formOrigin = LoginUtils._getPasswordOrigin(doc.documentURI); - if (!Services.logins.countLogins(formOrigin, "", null)) - return; - - // If we're currently displaying a master password prompt, defer - // processing this form until the user handles the prompt. - if (Services.logins.uiBusy) { - log("deferring onFormPassword for", doc.documentURI); - let self = this; - let observer = { - QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver, Ci.nsISupportsWeakReference]), - - observe: function (subject, topic, data) { - log("Got deferred onFormPassword notification:", topic); - // Only run observer once. - Services.obs.removeObserver(this, "passwordmgr-crypto-login"); - Services.obs.removeObserver(this, "passwordmgr-crypto-loginCanceled"); - if (topic == "passwordmgr-crypto-loginCanceled") - return; - self.onFormPassword(event); - }, - handleEvent : function (event) { - // Not expected to be called - } - }; - // Trickyness follows: We want an observer, but don't want it to - // cause leaks. So add the observer with a weak reference, and use - // a dummy event listener (a strong reference) to keep it alive - // until the form is destroyed. - Services.obs.addObserver(observer, "passwordmgr-crypto-login", true); - Services.obs.addObserver(observer, "passwordmgr-crypto-loginCanceled", true); - form.addEventListener("mozCleverClosureHack", observer); - return; - } - - let autofillForm = gAutofillForms && !PrivateBrowsingUtils.isWindowPrivate(doc.defaultView); - - this._fillForm(form, autofillForm, false, false, null); - }, - - /* * onUsernameInput * @@ -602,7 +537,8 @@ var LoginManagerContent = { log("fillDocument processing", forms.length, "forms on", doc.documentURI); - var autofillForm = gAutofillForms && !PrivateBrowsingUtils.isWindowPrivate(doc.defaultView); + var autofillForm = !PrivateBrowsingUtils.isWindowPrivate(doc.defaultView) && + Services.prefs.getBoolPref("signon.autofillForms"); var previousActionOrigin = null; var foundLogins = null; diff --git a/toolkit/components/passwordmgr/test/Makefile.in b/toolkit/components/passwordmgr/test/Makefile.in index 0852f8bf88ad..1eced10a9d61 100644 --- a/toolkit/components/passwordmgr/test/Makefile.in +++ b/toolkit/components/passwordmgr/test/Makefile.in @@ -27,7 +27,6 @@ MOCHITEST_FILES = \ test_basic_form_observer_autocomplete.html \ test_basic_form_observer_foundLogins.html \ test_basic_form_pwonly.html \ - test_basic_form_pwevent.html \ test_bug_227640.html \ test_bug_242956.html \ test_bug_360493_1.html \ diff --git a/toolkit/components/passwordmgr/test/test_basic_form_observer_autofillForms.html b/toolkit/components/passwordmgr/test/test_basic_form_observer_autofillForms.html index 552b7930eccb..199d810671f8 100644 --- a/toolkit/components/passwordmgr/test/test_basic_form_observer_autofillForms.html +++ b/toolkit/components/passwordmgr/test/test_basic_form_observer_autofillForms.html @@ -21,36 +21,6 @@ Cu.import("resource://gre/modules/XPCOMUtils.jsm"); // Assume that the pref starts out true, so set to false SpecialPowers.setBoolPref("signon.autofillForms", false); - -var TestObserver = { - receivedNotificationFoundForm : false, - receivedNotificationFoundLogins : false, - dataFoundForm : "", - dataFoundLogins : null, - QueryInterface : XPCOMUtils.generateQI([Ci.nsIObserver, Ci.nsISupportsWeakReference]), - observe : function (subject, topic, data) { - netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); - var pwmgr = Cc["@mozilla.org/login-manager;1"]. - getService(Ci.nsILoginManager); - if (topic == "passwordmgr-found-form") { - info("got passwordmgr-found-form"); - this.receivedNotificationFoundForm = true; - this.dataFoundForm = data; - // Now fill the form - pwmgr.fillForm(subject); - } else if (topic == "passwordmgr-found-logins") { - info("got passwordmgr-found-logins"); - this.receivedNotificationFoundLogins = true; - this.dataFoundLogins = subject.QueryInterface(Ci.nsIPropertyBag2); - } - } -}; - -// Add the observer -var os = Cc["@mozilla.org/observer-service;1"]. - getService(Ci.nsIObserverService); -os.addObserver(TestObserver, "passwordmgr-found-form", false); -os.addObserver(TestObserver, "passwordmgr-found-logins", false);

@@ -72,6 +42,35 @@ os.addObserver(TestObserver, "passwordmgr-found-logins", false); - - - - - -Mozilla Bug 355063 -

-
-forms go here! -
-
-
- - diff --git a/toolkit/components/passwordmgr/test/test_maxforms_1.html b/toolkit/components/passwordmgr/test/test_maxforms_1.html index bcc2e29660cf..d7fa80c52f0a 100644 --- a/toolkit/components/passwordmgr/test/test_maxforms_1.html +++ b/toolkit/components/passwordmgr/test/test_maxforms_1.html @@ -52,12 +52,7 @@ function startTest() { SimpleTest.finish(); } -if (SpecialPowers.getBoolPref("signon.useDOMFormHasPassword")) { - info("skipping test when signon.useDOMFormHasPassword is enabled"); - SimpleTest.finish(); -} else { - window.onload = startTest; -} +window.onload = startTest; diff --git a/toolkit/components/passwordmgr/test/test_maxforms_2.html b/toolkit/components/passwordmgr/test/test_maxforms_2.html index da315c420294..281f12d17a1d 100644 --- a/toolkit/components/passwordmgr/test/test_maxforms_2.html +++ b/toolkit/components/passwordmgr/test/test_maxforms_2.html @@ -52,12 +52,7 @@ function startTest() { SimpleTest.finish(); } -if (SpecialPowers.getBoolPref("signon.useDOMFormHasPassword")) { - info("skipping test when signon.useDOMFormHasPassword is enabled"); - SimpleTest.finish(); -} else { - window.onload = startTest; -} +window.onload = startTest; diff --git a/toolkit/components/passwordmgr/test/test_maxforms_3.html b/toolkit/components/passwordmgr/test/test_maxforms_3.html index 63d2bfedd497..84fa863f42f3 100644 --- a/toolkit/components/passwordmgr/test/test_maxforms_3.html +++ b/toolkit/components/passwordmgr/test/test_maxforms_3.html @@ -52,12 +52,7 @@ function startTest() { SimpleTest.finish(); } -if (SpecialPowers.getBoolPref("signon.useDOMFormHasPassword")) { - info("skipping test when signon.useDOMFormHasPassword is enabled"); - SimpleTest.finish(); -} else { - window.onload = startTest; -} +window.onload = startTest;