Closed Bug 1486571 Opened 2 years ago Closed 2 years ago

Uplift bug 1330257 to GV branch

Categories

(GeckoView :: General, enhancement, P1)

All
Android
enhancement

Tracking

(geckoview62blocking fixed, firefox-esr52 wontfix, firefox-esr60 wontfix, firefox61 wontfix, firefox62 unaffected, firefox63 unaffected)

RESOLVED FIXED
Tracking Status
geckoview62 blocking fixed
firefox-esr52 --- wontfix
firefox-esr60 --- wontfix
firefox61 --- wontfix
firefox62 --- unaffected
firefox63 --- unaffected

People

(Reporter: jchen, Assigned: jchen)

References

Details

Attachments

(8 files, 1 obsolete file)

We want to uplift auto-fill (bug 1330257) to the GV-specific beta branch.
I *think* this is something being considered a blocker for GV62 Focus.
Add some tests for the Oreo auto-fill frontend, similar to the tests for
the a11y auto-fill frontend. However, because these tests depend on the
ViewStructure class, they require SDK 23+ to run.

Differential Revision: https://phabricator.services.mozilla.com/D3810
Move the AccessibilityNodeProvider implementation under
SessionAccessibility, to reduce the indent of the code.

Also make all methods in SessionAccessibility.Settings static to make
the code easier to follow.

Differential Revision: https://phabricator.services.mozilla.com/D3250
Make a distinction between a session being active (i.e. being visible)
and it being focused. More than one session may be active at a time, but
only one session is focused at a time. This means the focused session is
always active, but an active session may not be focused.

Also, manage setting of active/focused states in GeckoView itself, so
consumers don't generally have to worry about these states.

Differential Revision: https://phabricator.services.mozilla.com/D3251
Attachment #9004668 - Attachment is obsolete: true
Make the session store event listeners inline, because it makes the code
more readable, and also because auto-fill requires a pageshow listener
that is always registered, so the existing pageshow listener needs to be
moved elsewhere.

Differential Revision: https://phabricator.services.mozilla.com/D3252
Add an auto-fill backend in GeckoViewContent.js that detects fields on
the page and sends information about the fields to Java through events.

Differential Revision: https://phabricator.services.mozilla.com/D3253
Add an auto-fill frontend that listens to events from Gecko. It
populates accessibility nodes for input fields and sends accessibility
events, in order to support auto-fill clients that use accessibility
services to perform auto-fill.

Differential Revision: https://phabricator.services.mozilla.com/D3254
Add some tests to AccessibilityTest to make sure we can perform
auto-fill through the accessibility API.

Differential Revision: https://phabricator.services.mozilla.com/D3255
Add a frontend for the Oreo auto-fill API in SessionTextInput, which
processes events from Gecko and provides consumer APIs that match the
Oreo auto-fill APIs. GeckoView then forwards the necessary calls to
SessionTextInput.

Differential Revision: https://phabricator.services.mozilla.com/D3538
Add some tests for the Oreo auto-fill frontend, similar to the tests for
the a11y auto-fill frontend. However, because these tests depend on the
ViewStructure class, they require SDK 23+ to run.

Differential Revision: https://phabricator.services.mozilla.com/D3810
I can make a combined patch too if that makes uplifting easier.
Comment on attachment 9004669 [details] [diff] [review]
1. Refactor SessionAccessibility

[Approval Request Comment]
If this is not a sec:{high,crit} bug, please state case for ESR consideration: We don't want to regress auto-fill functionality
User impact if declined: No auto-fill for GV Focus
Fix Landed on Version: 63
Risk to taking this patch (and alternatives if risky): Slight, lots of new code
String or UUID changes made by this patch: None

See https://wiki.mozilla.org/Release_Management/ESR_Landing_Process for more info.
Attachment #9004669 - Flags: approval-mozilla-geckoview62?
Comment on attachment 9004669 [details] [diff] [review]
1. Refactor SessionAccessibility

Needed for Focus, approved for GV62.
Attachment #9004669 - Flags: approval-mozilla-geckoview62? → approval-mozilla-geckoview62+
Product: Firefox for Android → GeckoView
You need to log in before you can comment on or make changes to this bug.