Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Closed Bug 1715549 Opened 3 years ago Closed 3 years ago

Bitwarden inline autofill fails with Firefox stable, works great in Nighly

Categories

(GeckoView :: General, defect, P2)

Unspecified
Android
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: petru, Assigned: m_kato)

Details

(Whiteboard: [geckoview:m92])

From github: https://github.com/mozilla-mobile/fenix/issues/19685.

Bitwarden app for android 11 support inline autofill of passwords, i'm using Firefox stable and Nightly side by side for a while, inline autofill works consistently great with Nightly builds, but it simply fails to autofill using Gboard when i'm trying with stable builds(tried, Firefox stable 86,87,88,and 89), today i tested with latest 89.1 stable and still fails to inline autofill, it works maybe 1/10 times in stable, but it's a solid 9/10 in case of Nightly builds, it's been the same for at least 3 months back. Below is a screenshot of autofill working in latest Nightly.

Steps to reproduce

Use Android 11 ROM with GBoard and Bitwarden app, Enable Autofill services/Inline Autofill and use accessibility option inside Bitwarden app, save some website login to Bitwarden, try entering the login page,GBoard should bring up login details inline, works for Nightly builds, doesn't work 9/10 times in Stable build.

Expected behavior

Stable Firefox should inline autofill correctly

Actual behavior

Firefox stable fails to Inline autofill using GBoard

Device information

     Mi 9T Pro with Android 11 AOSP ROM (not MIUI)
  • Device vendor / model and Android version: ?
    Android 11, Xiaomi
  • Firefox for Android version: ? (go to Settings -> About Firefox)
    89.1.0 stable

Change performed by the Move to Bugzilla add-on.

Moved the ticket here since it's about website interaction but I'm not sure whether this is a GV bug or Bitwarden or of the keyboard.

Interesting to note that in my posted video (at the end of it) it's seen that inline autofill options appear in the keyboard but for the previous tab while the GV prompt correctly contains credentials for the current tab (didn't recorded this last part though).

This would suggest to me that the issue is not of GV but I don't know the entire flow, of how all this apps are communicating to show those inline autofill options.

Severity: -- → S3
Priority: -- → P2
Whiteboard: [geckoview:m92?]
Whiteboard: [geckoview:m92?] → [geckoview:m93?]
Whiteboard: [geckoview:m93?] → [geckoview:m92]

any update this bug? issue seems to be existing in latest 92 stable build too.

The issue is still present in 93 beta and 92 release.

Hmm, I debug this with custom version of Bitwarden today. I guess that this is king of race condition of filling autofill data. Bitwarden requires something nodes into autofill targets have focus at least. But when Bitwarden gets autofill data, we won't set focus in autofill nodes since "GeckoView:OnAutofillFocus" isn't handled yet even if web content already has focus.

Since this is timing issue, Firefox Nightly doesn't seem to occur.

Assignee: nobody → m_kato

Finally, the autofill issue going to be over on beta and release 😇.

OK, I make sense this bug. This depends on Autofill compatibility mode. Although we manage autofill focus by AutofillDelegate, this focus is sometime lost unfortunately. Android OS's compatibility mode layer (AutofillManager.CompatibilityBridge) of Autofill listens a11y event, then, when AccessibilityEvent.TYPE_VIEW_FOCUSED is received, it calls AutofillManager.notifyViewOfEnter with a11y virtual Id. It means that focus id is changed.

The compatibility mode walks thought the accessibility nodes, so it causes bad performance (bug 1734552). Most code can disable by override View's method, but there is no way to disable AutofillManager.CompatibilityBridge from application.

If we set correct focused id after a11y event, it still has performance issue, and since onFillRequest on autofill service is called several times, autofill UI is shown by several times (it means that this UI causes flicker).

I think that BitWarden should disable compatibility mode since we already support autofill framework. I will send PR to disable it with longVersionCode. Firefox Nightly seems not to use compatibility mode.

Of course, another workaround is accessibility.force_disabled=1 by about:config (Beta only).

Fixed by bitwarden.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED

(In reply to Makoto Kato [:m_kato] from comment #8)

Fixed by bitwarden.

May I know which version of Bitwarden/ Firefox stable this issue is resolved on?

(In reply to Bony from comment #9)

(In reply to Makoto Kato [:m_kato] from comment #8)

Fixed by bitwarden.

May I know which version of Bitwarden/ Firefox stable this issue is resolved on?

Bitwarden v2.14.2 + Firefox 93+ (and 93 beta latest version)

You need to log in before you can comment on or make changes to this bug.