Make accessiblecaret dispatch events more asynchronously.

NEW
Assigned to

Status

()

defect
P3
normal
3 months ago
3 months ago

People

(Reporter: emilio, Assigned: emilio, NeedInfo)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(3 attachments)

No description provided.

Instead, post the event for the next turn of the event loop.

In this case, what killed the frame is ActionBarHandler.jsm via
Selection.toString().

Depends on D31088

I think these should hold, everything that runs under them should just schedule
other stuff to some later date:

  • Synth mouse events -> scheduled as refresh driver observers.
  • Scroll events -> Scheduled as well.
  • Caret state change events -> Also scheduled after last patch.
  • IME and accessibility stuff -> I don't think they can reenter layout.

We can always revert this if it causes troubles, plus it shouldn't crash on
release so should be fine.

I'll land all patches but the first in a separate batch and separate bug for
regression tracking purposes.

Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/32d724d2312c
Bug 1549812 - fix testAccessibleCarets.js to account for more async event dispatching. r=TYLin
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/58d40da71355
Bug 1549812 - Don't run arbitrary script from AccessibleCaretManager callbacks. r=TYLin
https://hg.mozilla.org/integration/autoland/rev/7286e18fbc17
Bug 1549812 - Try to assert a bit harder about stuff not flushing under our nose. r=TYLin,mats
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.