Closed Bug 1765433 Opened 3 years ago Closed 3 years ago

Make GetNodeInfo and Pivot methods run safely in Android UI thread

Categories

(Core :: Disability Access APIs, task, P1)

Unspecified
Android
task

Tracking

()

RESOLVED FIXED
102 Branch
Tracking Status
firefox102 --- fixed

People

(Reporter: eeejay, Assigned: eeejay)

References

Details

(Whiteboard: [ctw-m1])

Attachments

(3 files)

We currently post tasks synchronously to the Gecko thread. This has been causing lockups in Fenix UI tests (and probably will in TalkBack as well).

We need to safely perform these operations in the UI thread.

Whiteboard: [ctw-m1]

About pages run in the parent process. In the following patches we will
be performing some operations like pivot and getting node info in the
Android UI thread. We need to assure that "local" content still works
by calling into the gecko thread since we can't use the remote,
thread-safe cache.

We cannot use GeckoBundle anymore because it cannot be constructed in
the UI thread. Instead, have a set of populate methods that take
arguments and set the correct fields in the AccessibilityNodeInfo, or
its optional info objects.

These fields can be called both in the Gecko and UI thread.

Depends on D144894

Pushed by eisaacson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a7fe140330b1 P1: Add android tests for about pages. r=Jamie,geckoview-reviewers,jonalmeida https://hg.mozilla.org/integration/autoland/rev/29069798c8e3 P2: Add AccessibilityNodeInfo population methods. r=Jamie https://hg.mozilla.org/integration/autoland/rev/f4fc3e2236e5 P3: Get bundle and do pivot in UI thread for remote accessibles. r=Jamie
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: