mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 946549 - Remove dead code obsoleted by bug 355063 for filling passwords on load. r=MattN
This commit is contained in:
parent
2d643811e9
commit
406f121ef5
@ -38,9 +38,6 @@ if (Services.prefs.getBoolPref("browser.tabs.remote")) {
|
||||
sendAsyncMessage("contextmenu", {}, { event: event });
|
||||
}, false);
|
||||
} else {
|
||||
addEventListener("DOMContentLoaded", function(event) {
|
||||
LoginManagerContent.onContentLoaded(event);
|
||||
});
|
||||
addEventListener("DOMFormHasPassword", function(event) {
|
||||
InsecurePasswordUtils.checkForInsecurePasswords(event.target);
|
||||
LoginManagerContent.onFormPassword(event);
|
||||
|
@ -199,7 +199,6 @@ let Content = {
|
||||
break;
|
||||
|
||||
case "DOMContentLoaded":
|
||||
LoginManagerContent.onContentLoaded(aEvent);
|
||||
this._maybeNotifyErrorPage();
|
||||
break;
|
||||
|
||||
|
@ -3368,8 +3368,6 @@ Tab.prototype = {
|
||||
case "DOMContentLoaded": {
|
||||
let target = aEvent.originalTarget;
|
||||
|
||||
LoginManagerContent.onContentLoaded(aEvent);
|
||||
|
||||
// ignore on frames and other documents
|
||||
if (target != this.browser.contentDocument)
|
||||
return;
|
||||
|
@ -3897,7 +3897,6 @@ pref("signon.rememberSignons", true);
|
||||
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);
|
||||
|
@ -14,7 +14,6 @@ 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
|
||||
|
||||
function log(...pieces) {
|
||||
function generateLogMessage(args) {
|
||||
@ -72,7 +71,6 @@ var observer = {
|
||||
gDebug = Services.prefs.getBoolPref("signon.debug");
|
||||
gEnabled = Services.prefs.getBoolPref("signon.rememberSignons");
|
||||
gAutofillForms = Services.prefs.getBoolPref("signon.autofillForms");
|
||||
gUseDOMFormHasPassword = Services.prefs.getBoolPref("signon.useDOMFormHasPassword");
|
||||
},
|
||||
};
|
||||
|
||||
@ -94,32 +92,8 @@ var LoginManagerContent = {
|
||||
return this.__formFillService;
|
||||
},
|
||||
|
||||
onContentLoaded : function (event) {
|
||||
// If we're using the new DOMFormHasPassword event, don't fill at pageload.
|
||||
if (gUseDOMFormHasPassword)
|
||||
return;
|
||||
|
||||
if (!event.isTrusted)
|
||||
return;
|
||||
|
||||
if (!gEnabled)
|
||||
return;
|
||||
|
||||
let domDoc = event.target;
|
||||
|
||||
// Only process things which might have HTML forms.
|
||||
if (!(domDoc instanceof Ci.nsIDOMHTMLDocument))
|
||||
return;
|
||||
|
||||
this._fillDocument(domDoc);
|
||||
},
|
||||
|
||||
|
||||
onFormPassword: function (event) {
|
||||
// If we're not using the new DOMFormHasPassword event, only fill at pageload.
|
||||
if (!gUseDOMFormHasPassword)
|
||||
return;
|
||||
|
||||
if (!event.isTrusted)
|
||||
return;
|
||||
|
||||
@ -552,91 +526,6 @@ var LoginManagerContent = {
|
||||
},
|
||||
|
||||
|
||||
/*
|
||||
* _fillDocument
|
||||
*
|
||||
* Called when a page has loaded. For each form in the document,
|
||||
* we check to see if it can be filled with a stored login.
|
||||
*/
|
||||
_fillDocument : function (doc) {
|
||||
var forms = doc.forms;
|
||||
if (!forms || forms.length == 0)
|
||||
return;
|
||||
|
||||
var formOrigin = LoginUtils._getPasswordOrigin(doc.documentURI);
|
||||
|
||||
// If there are no logins for this site, bail out now.
|
||||
if (!Services.logins.countLogins(formOrigin, "", null))
|
||||
return;
|
||||
|
||||
// If we're currently displaying a master password prompt, defer
|
||||
// processing this document until the user handles the prompt.
|
||||
if (Services.logins.uiBusy) {
|
||||
log("deferring fillDoc for", doc.documentURI);
|
||||
let self = this;
|
||||
let observer = {
|
||||
QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
|
||||
|
||||
observe: function (subject, topic, data) {
|
||||
log("Got deferred fillDoc 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._fillDocument(doc);
|
||||
},
|
||||
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 document is destroyed.
|
||||
Services.obs.addObserver(observer, "passwordmgr-crypto-login", true);
|
||||
Services.obs.addObserver(observer, "passwordmgr-crypto-loginCanceled", true);
|
||||
doc.addEventListener("mozCleverClosureHack", observer);
|
||||
return;
|
||||
}
|
||||
|
||||
log("fillDocument processing", forms.length, "forms on", doc.documentURI);
|
||||
|
||||
var autofillForm = gAutofillForms && !PrivateBrowsingUtils.isWindowPrivate(doc.defaultView);
|
||||
var previousActionOrigin = null;
|
||||
var foundLogins = null;
|
||||
|
||||
// Limit the number of forms we try to fill. If there are too many
|
||||
// forms, just fill some at the beginning and end of the page.
|
||||
const MAX_FORMS = 40; // assumed to be an even number
|
||||
var skip_from = -1, skip_to = -1;
|
||||
if (forms.length > MAX_FORMS) {
|
||||
log("fillDocument limiting number of forms filled to", MAX_FORMS);
|
||||
let chunk_size = MAX_FORMS / 2;
|
||||
skip_from = chunk_size;
|
||||
skip_to = forms.length - chunk_size;
|
||||
}
|
||||
|
||||
for (var i = 0; i < forms.length; i++) {
|
||||
// Skip some in the middle of the document if there were too many.
|
||||
if (i == skip_from)
|
||||
i = skip_to;
|
||||
|
||||
var form = forms[i];
|
||||
|
||||
// Only the actionOrigin might be changing, so if it's the same
|
||||
// as the last form on the page we can reuse the same logins.
|
||||
var actionOrigin = LoginUtils._getActionOrigin(form);
|
||||
if (actionOrigin != previousActionOrigin) {
|
||||
foundLogins = null;
|
||||
previousActionOrigin = actionOrigin;
|
||||
}
|
||||
log("_fillDocument processing form[", i, "]");
|
||||
foundLogins = this._fillForm(form, autofillForm, false, false, foundLogins)[1];
|
||||
} // foreach form
|
||||
},
|
||||
|
||||
|
||||
/*
|
||||
* _fillform
|
||||
*
|
||||
|
@ -54,9 +54,6 @@ support-files =
|
||||
# Bug 917797 - too many intermittent failures
|
||||
skip-if = true
|
||||
[test_master_password_cleanup.html]
|
||||
[test_maxforms_1.html]
|
||||
[test_maxforms_2.html]
|
||||
[test_maxforms_3.html]
|
||||
[test_notifications.html]
|
||||
[test_notifications_popup.html]
|
||||
skip-if = os == "linux" # bug 934057
|
||||
|
@ -34,19 +34,15 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=355063
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
if (SpecialPowers.getBoolPref("signon.useDOMFormHasPassword")) {
|
||||
commonInit();
|
||||
commonInit();
|
||||
|
||||
// Password Manager's own listener should always have been added first, so
|
||||
// the test's listener should be called after the pwmgr's listener fills in
|
||||
// a login.
|
||||
//
|
||||
SpecialPowers.addChromeEventListener("DOMFormHasPassword", checkForm);
|
||||
window.addEventListener("load", startTest);
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
} else {
|
||||
ok(true, "Skipping test when useDOMFormHasPassword is disabled");
|
||||
}
|
||||
// Password Manager's own listener should always have been added first, so
|
||||
// the test's listener should be called after the pwmgr's listener fills in
|
||||
// a login.
|
||||
//
|
||||
SpecialPowers.addChromeEventListener("DOMFormHasPassword", checkForm);
|
||||
window.addEventListener("load", startTest);
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
@ -1,64 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Test for Login Manager</title>
|
||||
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script type="text/javascript" src="pwmgr_common.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||||
</head>
|
||||
<body>
|
||||
Test limiting number of forms filled.
|
||||
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none"></div>
|
||||
|
||||
<script>
|
||||
commonInit();
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
var FORMS_TO_CREATE = 39;
|
||||
|
||||
function createForm(id) {
|
||||
var template1 = "<form id='form"
|
||||
var template2 = "'><input name='u'><input type='password' name='p'></form>\n";
|
||||
return id + template1 + id + template2;
|
||||
}
|
||||
|
||||
var formsHtml = "";
|
||||
for (var i = 1; i <= FORMS_TO_CREATE; i++) {
|
||||
formsHtml += createForm(i);
|
||||
}
|
||||
|
||||
var theDiv = document.getElementById("content");
|
||||
theDiv.innerHTML = formsHtml;
|
||||
</script>
|
||||
|
||||
|
||||
<pre id="test">
|
||||
<script class="testbody" type="text/javascript">
|
||||
/** Test for Login Manager: form fill, multiple forms. **/
|
||||
|
||||
function startTest() {
|
||||
for (var i = 1; i <= FORMS_TO_CREATE; i++) {
|
||||
if (true) {
|
||||
is($_(i, "u").value, "testuser", "Checking for filled username in form " + i);
|
||||
is($_(i, "p").value, "testpass", "Checking for filled password in form " + i);
|
||||
} else {
|
||||
is($_(i, "u").value, "", "Checking for unfilled username in form " + i);
|
||||
is($_(i, "p").value, "", "Checking for unfilled password in form " + i);
|
||||
}
|
||||
}
|
||||
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
if (SpecialPowers.getBoolPref("signon.useDOMFormHasPassword")) {
|
||||
info("skipping test when signon.useDOMFormHasPassword is enabled");
|
||||
SimpleTest.finish();
|
||||
} else {
|
||||
window.onload = startTest;
|
||||
}
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
@ -1,64 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Test for Login Manager</title>
|
||||
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script type="text/javascript" src="pwmgr_common.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||||
</head>
|
||||
<body>
|
||||
Test limiting number of forms filled.
|
||||
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none"></div>
|
||||
|
||||
<script>
|
||||
commonInit();
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
var FORMS_TO_CREATE = 40;
|
||||
|
||||
function createForm(id) {
|
||||
var template1 = "<form id='form"
|
||||
var template2 = "'><input name='u'><input type='password' name='p'></form>\n";
|
||||
return id + template1 + id + template2;
|
||||
}
|
||||
|
||||
var formsHtml = "";
|
||||
for (var i = 1; i <= FORMS_TO_CREATE; i++) {
|
||||
formsHtml += createForm(i);
|
||||
}
|
||||
|
||||
var theDiv = document.getElementById("content");
|
||||
theDiv.innerHTML = formsHtml;
|
||||
</script>
|
||||
|
||||
|
||||
<pre id="test">
|
||||
<script class="testbody" type="text/javascript">
|
||||
/** Test for Login Manager: form fill, multiple forms. **/
|
||||
|
||||
function startTest() {
|
||||
for (var i = 1; i <= FORMS_TO_CREATE; i++) {
|
||||
if (true) {
|
||||
is($_(i, "u").value, "testuser", "Checking for filled username in form " + i);
|
||||
is($_(i, "p").value, "testpass", "Checking for filled password in form " + i);
|
||||
} else {
|
||||
is($_(i, "u").value, "", "Checking for unfilled username in form " + i);
|
||||
is($_(i, "p").value, "", "Checking for unfilled password in form " + i);
|
||||
}
|
||||
}
|
||||
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
if (SpecialPowers.getBoolPref("signon.useDOMFormHasPassword")) {
|
||||
info("skipping test when signon.useDOMFormHasPassword is enabled");
|
||||
SimpleTest.finish();
|
||||
} else {
|
||||
window.onload = startTest;
|
||||
}
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
@ -1,64 +0,0 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Test for Login Manager</title>
|
||||
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script type="text/javascript" src="pwmgr_common.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||||
</head>
|
||||
<body>
|
||||
Test limiting number of forms filled.
|
||||
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none"></div>
|
||||
|
||||
<script>
|
||||
commonInit();
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
var FORMS_TO_CREATE = 41;
|
||||
|
||||
function createForm(id) {
|
||||
var template1 = "<form id='form"
|
||||
var template2 = "'><input name='u'><input type='password' name='p'></form>\n";
|
||||
return id + template1 + id + template2;
|
||||
}
|
||||
|
||||
var formsHtml = "";
|
||||
for (var i = 1; i <= FORMS_TO_CREATE; i++) {
|
||||
formsHtml += createForm(i);
|
||||
}
|
||||
|
||||
var theDiv = document.getElementById("content");
|
||||
theDiv.innerHTML = formsHtml;
|
||||
</script>
|
||||
|
||||
|
||||
<pre id="test">
|
||||
<script class="testbody" type="text/javascript">
|
||||
/** Test for Login Manager: form fill, multiple forms. **/
|
||||
|
||||
function startTest() {
|
||||
for (var i = 1; i <= FORMS_TO_CREATE; i++) {
|
||||
if (i != 21) {
|
||||
is($_(i, "u").value, "testuser", "Checking for filled username in form " + i);
|
||||
is($_(i, "p").value, "testpass", "Checking for filled password in form " + i);
|
||||
} else {
|
||||
is($_(i, "u").value, "", "Checking for unfilled username in form " + i);
|
||||
is($_(i, "p").value, "", "Checking for unfilled password in form " + i);
|
||||
}
|
||||
}
|
||||
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
if (SpecialPowers.getBoolPref("signon.useDOMFormHasPassword")) {
|
||||
info("skipping test when signon.useDOMFormHasPassword is enabled");
|
||||
SimpleTest.finish();
|
||||
} else {
|
||||
window.onload = startTest;
|
||||
}
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user