Open Bug 578663 Opened 13 years ago Updated 5 months ago

keyboard events are sometimes dropped if synchronous ajax requests are executed.


(Firefox :: General, defect)

3.6 Branch





(Reporter: mirko.tschaeni, Unassigned)




User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-us) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16
Build Identifier: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv: Gecko/20100625 Firefox/3.6.6

If synchronous ajax requests are used, firefox sometimes drops keyboard events.

Type words into the text area below... Sometimes characters don't appear in the textarea even though you hit them on the keyboard

This happens because a javascript in this page periodically sends synchronous ajax requests

Expected behaviour: firefox should not drop events due to the usage of synchronous ajax requests, instead it should block until the ajax request has finished loading and then dispatch the event so that no characters get lost. Safari and Chrome for instance behave correctly.

Reproduced with Firefox 3.6.6 and 3.5 on Mac, and Firefox 3.6.6 on Windows 7

Reproducible: Always

Steps to Reproduce:
1. go to
2. type words (like "hello") in the big textarea
3. the text in the textarea does not hold all characters pressed on the keyboard (some events are dropped, i.e. it holds "hllo" or "ello" instead of "hello"
4. If the effect does not appear immediately, type a few more words
5. If it still does not appear, increase the number in the textfield above the textarea (try 20, then 50...) 
Actual Results:  
not all characters appear in the textarea

Expected Results:  
all characters should appear in the textarea. firefox should block during the execution of synchronous events, however it should still keep the events in the queue and dispatch them after the synchronous requests are finished.
Version: unspecified → 3.6 Branch
I can confirm that this bug is still present in Firefox 7.0.1.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.