Well, I try to implement XMLHttpRequest object according to this specification in Java for JavaScript Rhino interpreter.
Frankly, specification is very rough draft, and very serious sections are missing completely:
1. Error handling. Never mentioned in spec. What state should be used for errors? How client should be notified about errors like errors in SSL handshake, timeouts, unexpectedly closed streams and so on (anything besides HTTP errors like 400+ / 500+).
2. Threading and asynchronous loading. Mozilla runs event listener on UI thread, IE runs listener on separate thread (hence a lot of incompatibilities and errors). Hmmmm... And who is right???
3. Re-use of XMLHttpRequest object should be explicitly defined. Now it is quite hard to grasp exact details among open / abort methods description.
Also setRequestHeader that must work as addRequestHeader is just ridiculous naming. If I understand this section in wrong way, then ridiculous wording was used in specification ;)
Valery Silaev
EPAM Systems
http://www.NetWeaverTeam.com