Fixes:
- Make sure that failed state messages stay around until next connect.
- Get status message font colors working.
- Clear RQ_reorder list on re-connect.
- For webkit engines, do array manipulation for each tile subrectangle
and only use the array for putImageData after rendering is finished.
In Chrome 5.0.375.29 beta, the time to render a full 800x600 hextile
image dropped from 500ms to 250ms or so. Firefox 3.5.3 rendering of
a full 800x600 hextile image is about 2300ms.
- All state/status updates go through updateState routine which
updates the status line also.
- Old firefox (and opera) don't support canvas createImageData, so use
getImageData as replacement.
- Add console.warn and console.error stubs so that firefox without
firebug doesn't crap out.
- If no WebSockets then error if no flash or if URL is location (flash
will refuse to load the object for security reasons).
- Mouse movements are accumulated and sent about 5 times a second.
- Normal polling happens at about 1.5 seconds intervals.
This commit represents a very functional VNC client under Google
Chrome.
Remaining work:
- Cut and paste support.
- Framing bugs when using RRE encoding.
- Better status and error feedback.
- Get working in firefox using flash web-socket-js:
http://github.com/gimite/web-socket-js
- Version without mootools (but test cross-browser).
- host, port and password input boxes (populated by URL values).
- clear canvas on disconnect.
- Dotted border around VNC area.
- mirror bits for VNC password.
- DES encryption for VNC bit mirrors every bytes of the password. This
commit has a hard-coded mirrored password. Need to ask user and bit
mirror it.
- With image data across the wire it's Blue,Green,Red, so twiddle
things around a bit.