Closed Bug 1499429 Opened 6 years ago Closed 6 years ago

GeckoEditable is not properly transferred during session transfer

Categories

(GeckoView :: General, enhancement, P2)

All
Android
enhancement

Tracking

(geckoview64 wontfix, firefox64 wontfix, firefox65 fixed)

RESOLVED FIXED
mozilla65
Tracking Status
geckoview64 --- wontfix
firefox64 --- wontfix
firefox65 --- fixed

People

(Reporter: jchen, Assigned: jchen)

References

Details

Attachments

(5 files)

During a session transfer we want to update all relevant GeckoEditableChild instances in the parent and child processes to use the new GeckoEditableParent associated with the new session.
Notify child process when we have a session transfer so the child
process can update accordingly.
Set the default GeckoEditableChild from C++, so we can keep the same
GeckoEditableChild instance across session transfers, and only have a
different GeckoEditableParent instance after each transfer.
During a session transfer, update existing GeckoEditableChild instances
in the parent and child processes to use the new GeckoEditableParent
instance that corresponds to the new session. If the GeckoEditableChild
has focus, take additional steps to make sure the GeckoEditableParent
receives current input context and focus information.
Add a test for the prior patches. Check that during a session transfer,
SessionTextInput is properly transferred and any focused state is
preserved.
Currently we make a sync call from the child process to the parent
process to retrieve the IGeckoEditableParent instance. However, that can
lead to deadlocks when a11y code makes parent-to-child async calls at
the same time. This patch makes the call async to avoid the deadlock.
Pushed by nchen@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/cbd9846ee234
1. Notify child process of session transfer; r=esawin
https://hg.mozilla.org/integration/mozilla-inbound/rev/4d2e501b020d
2. Set default GeckoEditableChild from native code; r=esawin
https://hg.mozilla.org/integration/mozilla-inbound/rev/7688a1109239
3. Transfer to new GeckoEditableParent during session transfer; r=esawin
https://hg.mozilla.org/integration/mozilla-inbound/rev/578c92bc890e
4. Add a test for session transfer with focused input; r=esawin
https://hg.mozilla.org/integration/mozilla-inbound/rev/5b53442956cd
5. Make setting editable parent async; r=esawin
Pushed by nchen@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/e0782f337548
6. Fix up for checkstyle errors; r=me
Depends on: 1505881
status-geckoview64=wontfix
Product: Firefox for Android → GeckoView
Target Milestone: Firefox 65 → mozilla65
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: