Closed Bug 1176950 Opened 4 years ago Closed 4 years ago

[e10s][TSF] nsTextStore shouldn't abandon locked content cache before dispatching events because they may be handled asynchronously in e10s mode

Categories

(Core :: Widget: Win32, defect)

x86
Windows
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla42
Tracking Status
e10s + ---
firefox41 --- affected
firefox42 --- fixed

People

(Reporter: masayuki, Assigned: masayuki)

References

(Blocks 2 open bugs)

Details

(Keywords: inputmethod)

Attachments

(1 file)

Currently, nsTextStore clears mLockedContent before dispatching events. However, in e10s mode, the content will receive the events asynchronously. So, from the view of content process, the document lock should be being kept.

When nsTextStore receiving a notification (except layout change), it should release the mLockedContent. In such timing, TabParent should finish preparing the content cache.

This may cause TIP being confused as content isn't modified by the sending events if it queries content synchronously.
After TextComposition dispatches a received event into the DOM tree, NOTIFY_IME_OF_COMPOSITION_UPDATE is notified. Therefore, nsTextStore can clear locked content which it's notified.

For asynchronous handling case (i.e., the event target is in a child process), nsTextStore should put off to forget the locked content. Then, nsTextStore can behave there is text content expected by TSF.
Attachment #8631583 - Flags: review?(VYV03354)
Attachment #8631583 - Flags: review?(VYV03354) → review+
https://hg.mozilla.org/mozilla-central/rev/063a7521a10b
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
You need to log in before you can comment on or make changes to this bug.