Closed Bug 1352011 Opened 7 years ago Closed 4 years ago

[meta] Support Android Autofill Framework

Categories

(Firefox for Android Graveyard :: Logins, Passwords and Form Fill, enhancement, P2)

All
Android
enhancement

Tracking

(firefox65 ?)

RESOLVED INCOMPLETE
Tracking Status
firefox65 --- ?

People

(Reporter: sebastian, Unassigned)

References

()

Details

(Keywords: meta)

Android O introduces an Autofill Framework: "Users can save time filling out forms by using autofill in their devices. Android O makes filling forms, such as account and credit card forms, easier with the introduction of the Autofill Framework. The Autofill Framework manages the communication between the app and an autofill service."

Fennec definitely should use the autofill service. However maybe it could be an autofill service itself and provide values to other apps?
I would really like to see Fennec participate as an autofill service.
Component: General → Logins, Passwords and Form Fill
See Also: → 1410996
Is anyone working on this yet? It makes switching from Chrome almost impossible, as passwords are stored in KeePass, LastPass, et all.
Yeah especially as the lastpass extension is broken with 2 factor. Literally the only thing stopping me going to ff.
I'm really a loyal Fx user syncing all my Fx with my Fx Sync server.
But I can't understand why new Oreo features are not supported!
In fact Fx on Android can't be used with any external Password Manager in a proper way, because it doesn't support neither accessibility events  nor the new Oreo Autofill feature.

Currently I'm using the built-in Password Manager, but this ones becomes more an more useless, because logins can't be edited properly since Fx 57 (until then I used addon Password editor).
Now I can't force Fx to store most https logins, and it's also not possible to add logins manually.

If there're no plans to add those feature, I'm afraid I have to switch to another browser...
While this is billed as a new feature in Oreo, it apparently *works* on Nougat if both the autofill app and the application being autofilled support it.  1Password is capable of autofilling in Firefox Focus on Nougat by using this API.

Just to add clarity, since the comments on this bug don't explicitly say so, and it might scare away potential developers if they think this is all-inclusive...

This bug is ONLY about participating as a target application to be autofilled (i.e. allow external password managers to autofill in Firefox).

The suggestion in comment 1 is not part of this bug, and is covered on bug 1410996 as a separate issue.
Seems that no other changes than the one in bug 1330257 are needed for this feature to work.
Whiteboard: --do_not_change--[priority:high]
Depends on: 1461961
This works on Firefox Focus. What's different there?
(In reply to David McKay from comment #9)
> This works on Firefox Focus. What's different there?

Firefox Focus/Klar isn't an own Browser, but uses the System's WebView engine (i.e. Chrome on Android and Safari on iOS).
Whiteboard: --do_not_change--[priority:high]
The latest Firefox Klar/Focus (7.0) now uses Geckoview and autofill works very well.
From comment 8, sounds like this may now work since Firefox 63, since bug 1330257 is fixed. 
Petru, does that seem right? If so, maybe we can close this bug. 

Ioana, can you help verify?
Flags: qe-verify+
Flags: needinfo?(petru.lingurar)
Flags: needinfo?(ioana.bugs)
Priority: -- → P1
From my testing on Android Nightly 65.0a1 (2018-10-31), it does not appear to be fixed. Neither the Android autofill nor the LastPass overlay work.

In on Android 9, Pixel 2 XL.
Does not seem to work with Keepass2Android's Android autofill with Nightly 65.0a1 (2018-11-01).  Tested on Google and Amazon's login pages. 

Focus 7.0.12 (Build #322821522) does not work with GeckoView either. It only works with the Chrome WebView renderer (I had to manually enable GeckoView to test). 

In both Nightly and Focus GeckoView I get a toast when selecting the login field: "Found multiple web domains: valid=www.amazon.com, child=www.amazon.com". This toast does not appear with Focus/WebView nor Firedox 62 (where autofill did not work).
That toast appears to be provided by K2A when given what it considers invalid data: https://github.com/PhilippC/keepass2android/blob/1.06/src/keepass2android/services/AutofillBase/StructureParser.cs#L199

Looks like it's been reported to them, maybe it'll need a fix on their end: https://github.com/PhilippC/keepass2android/issues/592
It's still not working for me with Nightly 65.0a1 (10-31-2018) on Android 8.0 and LastPass.
Not working for me with Nightly 65.0a1 on Android 8.0.0 with Keepass2Android. Keepass2Android detects visiting site in my pass database, but can't fill in login credentials.
(In reply to Liz Henry (:lizzard) (needinfo? me) from comment #12)
> From comment 8, sounds like this may now work since Firefox 63, since bug
> 1330257 is fixed. 
> Petru, does that seem right? If so, maybe we can close this bug. 
> 
> Ioana, can you help verify?

Indeed, the support for this feature was to be added as part of the work for that ticket.
But as per bug 1330257 comment98 Jim continued the work from that ticket (which focused on work for autofill on GeckoView) in bug 1485810 (autofill support in Fennec) for which the latest status says that there is still work to be done.
There are also many yet not closed dependencies for that tickets so the feature as a whole is not yet completed.
Flags: needinfo?(petru.lingurar)
+1 to this feature. I'm a long time user, loyal supporter of Firefox. But as Firefox for Android does not support Oreo's Autofill, I can not justify using it over Chrome for Android since I use LastPass for managing my passwords. 

I would switch back to Firefox for Android in a heartbeat if it would support Oreo's autofill framework. Please fix this.
Also adding that Dashlane auto-fill is also not working in Firefox for Android 64.0b15
Clearing NEEDINFO to get this on someone's radar.  Comment 18 already appears to answer the question asked.
Flags: needinfo?(ioana.bugs)
It appears that the last couple of Nightly versions do now support the autofill framework, as well as the LastPass overlay. However, it is implemented in such a way that results in different bugs:

- The autofill prompt always appears in the same location: in a corner of the screen

This isn't a huge deal, just a slight annoyance

- Using the autofill results in the user's password being filled into both the username and password fields

This often results in the user's password showing up in plain text on their screen, which is a breach of their security
As for 1Password, the above mentioned filling of the password in both fields does not occur, however site info does not appear to be getting passed to the app, as I'm having to search for the site in the 1Pass overlay every time.
I've tried the live version and latest nightly and i still have issues with Oreo autofill API (using bitwarden)

If my vault is locked the location of the oreo autofill prompt is usually top left above the URL bar.

On some sites after logging in to my vault and selecting the site to autofill it returns to the browser page but does nothing.  Others it works fine.  The accessibility version works fine every time on all sites.

The Oreo autofill prompt (when vault locked) only shows the first time you click in the fields, after that it never re-shows you have to re-load the page.
Filed bug 1515431 to track the issue described in comment 24.
Filed bug 1515435 to track the issue described in comment 23.
Keywords: meta
Summary: Support Android Autofill Framework → [meta] Support Android Autofill Framework
Filed bug 1515436 to track the issue described in comment 22.
With Keepass2android I get a short toast "Found multiple web-domains valid"  but no other UI elements show up. Keepass2android definitely supports autofill as Webkit-based Firefox Focus builds work as expected.
When using Nightly 66.0a1, 1Password seems to be working reasonably. The "fill using 1Password" popup appears over the navigation bar as opposed to the input field, and detecting (and thereby filling) of usernames is a bit of hit or miss, but overall I can use 1Password with Nightly on a day-to-day basis. The experience is much better than copy pasting, at least.
I also tested Firefox Beta 65.0b8. As far as I can tell, the UX and functionality with the current Autofill implementation and 1Password is identical  to Nightly as reported in my previous comment.
I've tested Fx Beta 65.0b8 and Enpass 6.0.0.104.
I works fine for me.

I just tried FF beta 65.0b13 with enpass 6.0.3.1 and it works sometimes. A bit inconsistent. Many times the popup doesn't appear and sometimes it does but always in the top corner and not where the field is. I wonder if it is appearing off screen somehow on the times it doesn't work?

Hello. I've tested current stable version 65.0 from Google play together with https://play.google.com/store/apps/details?id=keepass2android.keepass2android version 1.06f and it doesn't show the popup.

Same problem as for @Felixoid for me here. Firefox 67.0a1

Felixoid and sobolevsam: You need version 1.07-pre3 (beta) or up for it to work with Firefox (stable, no need for nightly or beta). It was a Keepass2Android issue, not a Firefox issue. The autofill pop-up shows in the bottom left corner now, not sure if this is by design, but it works.

Confirm, the beta 1.07-pre5 from pay market works pretty well besides the bottom popup

On some sites autofill doesn't work. E.g. https://aur.archlinux.org
Behavior:
Go to https://aur.archlinux.org/login/
Press "Fill with Keepass2Android"
Unlock db and choose the entry
You are back on the page and nothing is filled

There are still issues with autofill on bitwarden too.

The oreo autofill prompt most often shows top left of the screen and only ever appears once unless you refresh the page. Most times it doesnt autofill either.

Using the accessibility autofill (from notification) it works a lot more often. Sometimes on sites such as www.reddit.com and old.reddit.com it wont autofill the username just the password.

Using Brave the autofill prompt sits around the username/password elements and autofills the information a lot more dependably. The accessibility version works perfectly too so it does seem to be a FF issue.

Ive noticed in FF preview (Fenix) the oreo autofill prompt location seems to be a lot more accurate in its position on the page.

Downgrading priority from P1 to P2

Priority: P1 → P2

It was working with KeePass2Android before updating Firefox Android to Fenix 😥

We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.