Closed Bug 1538458 Opened 5 months ago Closed 4 months ago

Password Autofill does not fill usernames on some websites (Fennec and GV)

Categories

(GeckoView :: General, defect, P1)

Unspecified
Android
defect

Tracking

(firefox66 wontfix, firefox67 wontfix, firefox68 verified)

VERIFIED FIXED
mozilla68
Tracking Status
firefox66 --- wontfix
firefox67 --- wontfix
firefox68 --- verified

People

(Reporter: callahad, Assigned: m_kato)

Details

(Whiteboard: [geckoview:fenix:m4] [bcs:p2])

Attachments

(2 files)

I've noticed that Fenix and Reference Browser do not fill the username when using Android's password autofill feature on some websites.

In my case, I'm seeing this with Bitwarden on the Aviva insurance site (MoCo's insurer for UK-based employees).

Steps to Reproduce:

  1. Create an entry in your password manager for https://www.direct.aviva.co.uk/MyAccount/login
  2. Visit the above URL
  3. Tap the password field
  4. Tap the "Auto-fill with Bitwarden" pop-up
  5. Select the entry in the password manager
    (You might have to manually search for the correct entry, see Bug 1538385)

Results:

  • Only the password is filled; the username remains blank

The same steps in Chrome work as expected, filling both the username and password fields.

Does this occurs on Firefox/Android Nightly too? Actually, username detection uses same module of Desktop Firefox. So if its module cannot detect username field, we don't set username hint for autofill framework.

Flags: needinfo?(dan.callahan)

Ah! Yes, this fails on Fennec.

Flags: needinfo?(dan.callahan)
Summary: Password Autofill does not fill usernames on some websites → Password Autofill does not fill usernames on some websites (Fennec and GV)
Priority: -- → P1
Whiteboard: [geckoview:fenix:m4]

67=wontfix. Fenix MVP will use GeckoView 68, so we don't need to uplift this fix to 67 Beta.

Assignee: nobody → m_kato

Makoto, thanks for taking this bug. Since this bug also affects Fennec, we might want to uplift the fix to Fennec 67 Beta if the fix is small.

OS: All → Android
See Also: → 1538385
Whiteboard: [geckoview:fenix:m4] → [geckoview:fenix:m4] [bcs:p2]
See Also: 1538385

Hmm, this input element has autocomplete="off" attribute.

<input aria-required="True" autocomplete="off" class="a-textbox" data-val="true" data-val-required="Please enter your username" id="username" maxlength="50" name="username" type="text" value="">

So LoginManagerContent.getUserNameAndPasswordFields doesn't detect user name field since it will respect autocompleteattribute (bug 917325). From https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-autocomplete,

When an element's autofill field name is "off", the user agent should not remember the control's data, and should not offer past values to the user.

So I think that this is correct as UA. but should we ignore it?

But autocomplete=off may be ignore on desktop firefox since this site works even if desktop. So we may be able to ignore it.

Update this junit test with this bug's test case. Actually, autofill_userpass
doesn't work with the latest GV, so I should like to update this to fix focus
timing.

Also, this does't run on our test infra because this requires API 26.

Hi, I, tested the above mentioned issue using a Google Pixel 3XL(Android 9) with the latest Nightly version 68.0a1 along with the Bitwarden app and learned the following :

Twitter login- after tapping the autofill notification nothing happened. I had to manually fill in the username tap again the notification and afterwards the password got automatically filled in

Yahoo login- Same as for Twitter, after tapping the autofill notification nothing happened. I had to manually fill in the username and after a couple of attempts (refresh + notification tap) the password got automatically filled in.

Gmail login- After tapping the autofill notification nothing happened, I've refreshed the tapped again the notification and it worked as expected

Notes: I've also tried using the LastPass app and worked properly.
I've also noticed that the LastPass app has an extra Android settings option, namely the possibility to enable the "Display over other apps".

Thanks,
Andi

Pushed by m_kato@ga2.so-net.ne.jp:
https://hg.mozilla.org/integration/autoland/rev/b0c3aa221224
Part 1. LoginManagerContent requires <input> or <input type="password"> element to recognize login form r=geckoview-reviewers,snorp
https://hg.mozilla.org/integration/autoland/rev/84191877561e
Part 2. Update tests that includes fieldset r=geckoview-reviewers,snorp
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68

67=wontfix because it's too late to uplift a fix to Fennec 67 Beta that hasn't baked on 68 Nightly. This is a longstanding Fennec bug, so letting the fix ride the trains with 68 shouldn't be a big problem.

Hi, as per Comment #9 I've retested this issue on the latest Nightly build using a Google Pixel 3XL (Android 9) and a Samsung Note9 (Android 8.1.0) and on both devices the auto fill worked properly for all the three web sites.

Based on the above, the fix is verified.

Thanks,
Andi

Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.