Closed Bug 1515294 Opened 8 months ago Closed 8 months ago

[e10s a11y] Only do sync text change events for live regions

Categories

(Core :: Disability Access APIs, defect, P2)

All
Windows
defect

Tracking

()

RESOLVED FIXED
mozilla66
Tracking Status
firefox66 --- fixed

People

(Reporter: Jamie, Assigned: Jamie)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Spun off bug 1443755 comment 7.

In order to support IA2 live regions with e10s (bug 1322532), text change events sent from the child process to the parent process use sync IPC. That comes at a cost: the content process is blocked until the parent returns from sending and handling the event. However, there is no reason to do this if the event is not for an accessible inside a live region; current clients don't need the sync behaviour outside of live regions. Our experiments with Twitter in bug 1443755 comment 7 and some recent testing by Marco suggest this does noticeably improve performance in some complex web apps.
In order to support IA2 live regions with e10s (bug 1322532), text change events sent from the child process to the parent process use sync IPC.
That comes at a slight performance cost: the content process is blocked until the parent returns from sending and handling the event.
However, there is no reason to do this if the event is not for an accessible inside a live region; current clients don't need the sync behaviour outside of live regions.
Pushed by jteh@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/415f827cb9ce
Only use SendSyncTextChangeEvent for live regions. r=MarcoZ
https://hg.mozilla.org/mozilla-central/rev/415f827cb9ce
Status: NEW → RESOLVED
Closed: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
Backed out changeset 415f827cb9ce (Bug 1515294) on suspicion of causing content process hangs a=backout CLOSED TREE

https://hg.mozilla.org/mozilla-central/rev/8330fe920aeaae610a19f76956e1c47d67dc7be5
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: mozilla66 → ---
From mhoye: forcing a crash on a hung ff gives me bp-5a9e3722-389c-4abe-8db5-337ee0181222 https://crash-stats.mozilla.com/report/index/5a9e3722-389c-4abe-8db5-337ee0181222

From :brianbirtles: Not sure if was the Windows update that run this morning or if it's just the latest Nightly but today's Firefox is not happy on Windows. Parent and all content processes  (but not compositor process) freezing sometimes. Then if I visit any of the sites it has hang on in the past it freezes again, even after restarting the computer. Just me?
Flags: needinfo?(jteh)
For what it's worth, I haven't been able to reproduce this yet since updating to the latest Nightly (which includes this backout).
Sorry for the bustage.

(In reply to Sebastian Hengst [PTO-ish; back 2019-01-02] [:aryx] (needinfo on intermittent or backout) from comment #5)
> From :brianbirtles: Not sure if was the Windows update that run this morning
> or if it's just the latest Nightly but today's Firefox is not happy on
> Windows. Parent and all content processes  (but not compositor process)
> freezing sometimes. Then if I visit any of the sites it has hang on in the
> past it freezes again

Brian, would you be able to share any of the sites that were causing hangs? It'd be very helpful if I could reproduce this locally. Thanks.
Flags: needinfo?(jteh) → needinfo?(bbirtles)
Hmm, this just happened against so it may not be this bug after all.

The sites I've seen this on that I can recall are facebook, emojipedia, and whatsapp.
Flags: needinfo?(bbirtles)
(In reply to Sebastian Hengst [PTO-ish; back 2019-01-02] [:aryx] (needinfo on intermittent or backout) from comment #5)
> From mhoye: forcing a crash on a hung ff gives me
> bp-5a9e3722-389c-4abe-8db5-337ee0181222
> https://crash-stats.mozilla.com/report/index/5a9e3722-389c-4abe-8db5-
> 337ee0181222

I'm not discarding the possibility that this bug is causing a content process hang, but please note that this stack doesn't necessarily prove this hang is related to a11y. All this proves is that a11y was enabled and that when Text Services Framework in the parent process asked for a11y focus, the main thread in the content process was hung and thus unable to respond. The cause of that hang could be anything (including but not necessarily a11y). This is particularly relevant given comment 8.
I believe these hangs are due to bug 1516136 (not this bug 1515294). In turn, I think bug 1516136 is due to a problematic interaction between a11y and the next gen storage API (dom.storage.next_gen), which recently got enabled on Nightly. I'll comment on bug 1516136 with my findings.
Pushed by archaeopteryx@coole-files.de:
https://hg.mozilla.org/integration/autoland/rev/db7ef78c063b
Only use SendSyncTextChangeEvent for live regions. r=MarcoZ
https://hg.mozilla.org/mozilla-central/rev/db7ef78c063b
Status: REOPENED → RESOLVED
Closed: 8 months ago8 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
You need to log in before you can comment on or make changes to this bug.