Closed Bug 1564549 Opened 6 years ago Closed 6 years ago

Replace Android JS layer with native functions

Categories

(Core :: Disability Access APIs, task)

All
Android
task
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox71 --- fixed

People

(Reporter: eeejay, Assigned: eeejay)

References

(Blocks 2 open bugs)

Details

Attachments

(8 files, 10 obsolete files)

47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review

We currently our presentational code (events, accessible tree) in our native module and most of our interactive code (accessibility focus, text navigation, clipboard) in javascript.

The javascript layer is a relic from the previous mobile accessibility implementation. It has not been ported to native because it was a higher priority to get something working fast. It makes sense to complete the transition to native code for the following reasons:

  1. Complexity will be reduced if the functionality will be consolidated to one module, and it will be much more accessible to newcomers.
  2. Common points of reference: In javascript we don't have access to the accessible's platform virtual view id. This means that when clients want to perform actions on specific nodes we need to guess which one they want to use, like the currently focused one, or current virtual cursor position. If we migrate this to native, there will be a common point of reference as to which node is acted upon and which one emits an event.
  3. Performance/memory: We will not have the additional xpc layer.
  4. Removing the xpc code will allow us to have cleaner and more predictable shutdown when not in use.
Assignee: nobody → eitan
Blocks: 1351097
Blocks: 1564996
Blocks: 1564997
Blocks: 1564507

This is to allow platform-specific IPC calls without polluting the
namespace for other platforms. This works nicely with wrappers.

Depends on D37628

The rule takes a granularity constant as an argument in the constructor.

Depends on D37629

Some of these should be implemented in the future.

Depends on D37634

Stop dispatching GeckoView::AccessibilitySettings from java. This
prevents AccessFu from activating. We'll remove it entirely in a future
patch.

Depends on D37635

Depends on D37636

Attachment #9077219 - Attachment is obsolete: true
Attachment #9077218 - Attachment is obsolete: true
Attachment #9077217 - Attachment is obsolete: true
Attachment #9077216 - Attachment is obsolete: true
Attachment #9077215 - Attachment is obsolete: true
Attachment #9077214 - Attachment is obsolete: true
Attachment #9077213 - Attachment is obsolete: true
Attachment #9077212 - Attachment is obsolete: true
Attachment #9077211 - Attachment is obsolete: true
Attachment #9077210 - Attachment is obsolete: true

I'm going to set up a blocker bug so that a11y module folks could design a good solution for platform specific ipdl calls.

Depends on: 1565728
Depends on: 1580019

The rule takes a granularity constant as an argument in the constructor.

Depends on D45597

Some of these should be implemented in the future.

Depends on D45602

Depends on D45603

Pushed by eisaacson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/aca91e9add16 Add action forwarding macro. r=Jamie https://hg.mozilla.org/integration/autoland/rev/c38e72058869 Introduce native traveral rule. r=yzen https://hg.mozilla.org/integration/autoland/rev/103dbf465704 Implement move and explore by touch natively. r=geckoview-reviewers,yzen,snorp https://hg.mozilla.org/integration/autoland/rev/aada27f6ad6e Implement text navigation natively. r=geckoview-reviewers,Jamie,snorp https://hg.mozilla.org/integration/autoland/rev/34441585469f Implement set selection natively. r=geckoview-reviewers,yzen,snorp https://hg.mozilla.org/integration/autoland/rev/15a754fb192e Implement clipboard actions natively. r=geckoview-reviewers,yzen,snorp https://hg.mozilla.org/integration/autoland/rev/7f38c6ddd009 Remove event dispatching to dead code. r=geckoview-reviewers,snorp https://hg.mozilla.org/integration/autoland/rev/a6b83802832c Remove AccessFu. r=geckoview-reviewers,yzen,snorp
Attachment #9092224 - Attachment description: Bug 1564549 - Remove AccessFu. r?yzen!,#geckoview-reviewers! → Bug 1564549 - Remove AccessFu. r=yzen,snorp
Pushed by eisaacson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ab7bb18bcca2 Add action forwarding macro. r=Jamie https://hg.mozilla.org/integration/autoland/rev/83b8e1b49e1e Introduce native traveral rule. r=yzen https://hg.mozilla.org/integration/autoland/rev/414ba8c039e6 Implement move and explore by touch natively. r=geckoview-reviewers,yzen,snorp https://hg.mozilla.org/integration/autoland/rev/9bbf2b19dcfd Implement text navigation natively. r=geckoview-reviewers,Jamie,snorp https://hg.mozilla.org/integration/autoland/rev/95544c7598d5 Implement set selection natively. r=geckoview-reviewers,yzen,snorp https://hg.mozilla.org/integration/autoland/rev/348ec040eaa2 Implement clipboard actions natively. r=geckoview-reviewers,yzen,snorp https://hg.mozilla.org/integration/autoland/rev/87148740a6c2 Remove event dispatching to dead code. r=geckoview-reviewers,snorp https://hg.mozilla.org/integration/autoland/rev/5eca1b569290 Remove AccessFu. r=geckoview-reviewers,yzen,snorp

Needed to conditionally remove AccessFu.properties from shipping on desktop.

Flags: needinfo?(eitan)
See Also: → 1587557
Regressions: 1590929
Regressions: 1604103
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: