[epiphany/mcatanzaro/passwords-for-gnome-3-32: 2/2] ephy.js: Don't require input element name for form autofill
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany/mcatanzaro/passwords-for-gnome-3-32: 2/2] ephy.js: Don't require input element name for form autofill
- Date: Mon, 4 Mar 2019 00:50:55 +0000 (UTC)
commit 9bf45f65d64800f6ccefe69949d7afd40ffa6f25
Author: Michael Catanzaro <mcatanzaro igalia com>
Date: Sun Mar 3 18:49:23 2019 -0600
ephy.js: Don't require input element name for form autofill
MDN says name is deprecated since HTML *4* so we'd best check for
element ID first, and only fall back to name if missing.
This fixes form autofill for me on at least one website, which is nice.
embed/web-extension/resources/js/ephy.js | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
---
diff --git a/embed/web-extension/resources/js/ephy.js b/embed/web-extension/resources/js/ephy.js
index addd9b179..6a6633489 100644
--- a/embed/web-extension/resources/js/ephy.js
+++ b/embed/web-extension/resources/js/ephy.js
@@ -465,8 +465,8 @@ Ephy.FormManager = class FormManager
this._formAuth.url.origin,
this._formAuth.targetURL.origin,
this._formAuth.usernameNode && this._formAuth.usernameNode.value ?
this._formAuth.usernameNode.value : null,
- this._formAuth.usernameNode ? this._formAuth.usernameNode.name : null,
- this._formAuth.passwordNode.name ? this._formAuth.passwordNode.name : null).then(function
(authInfo) {
+ this._formAuth.usernameNode ? (this._formAuth.usernameNode.id ? this._formAuth.usernameNode.id :
this._formAuth.usernameNode.name) : null,
+ this._formAuth.passwordNode.id ? this._formAuth.passwordNode.id :
this._formAuth.passwordNode.name).then(function (authInfo) {
if (!authInfo) {
Ephy.log('No result');
return;
@@ -500,17 +500,17 @@ Ephy.FormManager = class FormManager
return;
}
- if (!this._formAuth.passwordNode.value || !this._formAuth.passwordNode.name)
+ if (!this._formAuth.passwordNode.value || (!this._formAuth.passwordNode.id &&
!this._formAuth.passwordNode.name))
return;
let password = this._formAuth.passwordNode.value;
- let passwordField = this._formAuth.passwordNode.name;
+ let passwordField = this._formAuth.passwordNode.id ? this._formAuth.passwordNode.id :
this._formAuth.passwordNode.name;
let username = null;
let usernameField = null;
- if (this._formAuth.usernameNode && this._formAuth.usernameNode.value &&
this._formAuth.usernameNode.name) {
+ if (this._formAuth.usernameNode && this._formAuth.usernameNode.value &&
(this._formAuth.usernameNode.id || this._formAuth.usernameNode.name)) {
username = this._formAuth.usernameNode.value;
- usernameField = this._formAuth.usernameNode.name;
+ usernameField = this._formAuth.usernameNode.id ? this._formAuth.usernameNode.id :
this._formAuth.usernameNode.name;
}
this._formAuth.url = new URL(String(window.location));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]