Closed Bug 1734552 Opened 1 year ago Closed 1 year ago

Don't call View.onProvideAutofillVirtualStructure in GeckoView.onProvideAutofillVirtualStructure

Categories

(GeckoView :: General, defect, P2)

Unspecified
Android

Tracking

(firefox95 fixed)

RESOLVED FIXED
95 Branch
Tracking Status
firefox95 --- fixed

People

(Reporter: m_kato, Assigned: m_kato)

Details

(Whiteboard: [geckoview:m96?])

Attachments

(1 file)

Profile data: https://share.firefox.dev/3DhzY2i

When Autofill services runs on compatibility mode (example, Bitwarden), View.onProvideAutofillStructure (https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/view/View.java;l=8779) will walk though the accessibility nodes. Walking though seems to be slow according to profiling data.

Actually, we set autofill data via Autofill.Session.fillViewStructure, so it is unnecessary to walk though all accessibility nodes.

Priority: -- → P2
Whiteboard: [geckoview:m96?]

When Autofill service runs with compatibility mode [*1] (such as Bitwarden),
View.onProvideAutofillStructure walks through the accessibility nodes.
Walking through it spends a lot of times.

When checking Android's source code, the following walks through it.

  • onProvideAutofillVirtualStructure
  • autofill
  • isVisibleToUserForAutofill

Actually, since we already add autofill's virtual nodes, it is unnecessary to
walk through it.

*1 https://developer.android.com/reference/android/service/autofill/AutofillService#compatibility-mode

Assignee: nobody → m_kato
Status: NEW → ASSIGNED
Pushed by m_kato@ga2.so-net.ne.jp:
https://hg.mozilla.org/integration/autoland/rev/4d8a5cfeca82
Don't walk though the accessibility nodes on autofill. r=geckoview-reviewers,agi
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 95 Branch
You need to log in before you can comment on or make changes to this bug.