Commit Graph

349 Commits

Author SHA1 Message Date
Joel Martin 447cd4ade3 Remove unneeded mootools and FABridge test.
mootools is no longer needed. The bug that the FABridge test was
testing has been resolved in web-socket-js so it's no longer needed.
2010-07-06 12:14:38 -05:00
Joel Martin 81e5adafef Refactor console logging code.
Util.Debug, Util.Info, Util.Warn, Util.Error routines instead of
direct calls to console.*. Add "logging=XXX" query variable that sets
the logging level (default is "warn").

Logging values:
    debug: code debug logging (many calls in performance path are also
           commented for performance reasons).
    info: informative messages including timing information.
    warn: significant events
    error: something has gone wrong
2010-07-06 11:56:13 -05:00
Joel Martin 351a1da304 Init updated web-socket-js correctly. TODO updates. 2010-07-05 15:54:50 -05:00
Joel Martin ae0ecca2e4 Disable excanvas experiment.
Also, move bugs from TODO to github issues.
2010-07-02 14:25:12 -05:00
Joel Martin b8e07362d9 A little more cleanup of browser table. 2010-07-02 12:50:34 -05:00
Joel Martin 3df41d67e1 More browser table cleanup. 2010-07-02 12:40:29 -05:00
Joel Martin 47ef64634f Remove unsupported table colors. Cleanup table. 2010-07-02 12:34:37 -05:00
Joel Martin c54a65ba09 README.md: try browser tests in table. 2010-07-02 12:25:13 -05:00
Joel Martin f5769b00ea Test table in markdown. 2010-07-02 12:12:30 -05:00
Joel Martin 5ba1dd78ba README/TODO: Windows browser testing results. 2010-07-02 12:02:57 -05:00
Joel Martin 2ca053affc Rebuild web-socket-js swf with gimite updates.
Bug fixes, restore RFC2817 proxy for non wss://, and handle new closing
handshake from WebSockets 76.
2010-07-02 10:50:52 -05:00
Joel Martin 1144eaa37a Add global variable option for swf location.
The problem is, you can't set WebSocket.__swfLocation before you load
web_socket.js (because it creates the WebSocket global), but you also
can't reliably set WebSocket.__swfLocation after because if you are
doing dynamic script file includes then the onload (i.e.
WebSocket.__initialize) may fire before you have a chance to set
Websocket.__swfLocation.
2010-07-02 09:54:55 -05:00
Joel Martin b9633f8bfd Import/merge gimite/web-socket-js up to da7caff96496c7d7bfb3.
Bug fixes, restore RFC2817 proxy for non wss://, and handle new
closing handshake from WebSockets 76.
2010-07-02 09:52:59 -05:00
Joel Martin e091b47a9f Clarify browser results in README.md 2010-07-01 12:18:18 -05:00
Joel Martin a94699265e Remove sequence code in client and proxies. 2010-07-01 12:13:17 -05:00
Joel Martin 2b71a4db58 Update web-socket-js binary build and README.md
Brings it up to date with the most recent web-socket-js event handling
fixes.
2010-07-01 12:04:26 -05:00
Joel Martin bc8e3d4db7 Opera fixes and big Opera performance boost.
Add message/state pollling in web-socket-js. Since Opera tends to drop
message events, we can dramatically increase performance by polling
every now for message event data.

Also, add more direct calls to update readyState so that it's not
missed when Opera drops events.
2010-07-01 11:54:44 -05:00
Joel Martin 4a96178307 Better web-socket-js dataQueue reset.
At connect and close time instead of initialization time.
2010-07-01 10:35:03 -05:00
Joel Martin 9479c72083 web-socket-js event fixes.
When using web-socket-js, the onopen event may happen inline so the
caller may not have time to set onopen before the event fires. In this
case set a short timeout and try again. In particular this affects
Opera most of the time.

Also, to get around Opera event droppings, always read the readyState
directly instead of relying on the local readyState variable to be
correct (which it isn't if stateChange event were dropped).
2010-07-01 10:32:14 -05:00
Joel Martin 6713418413 Always prefer JS ops if we have imageData.
All browsers with Canvas imageData are faster with JS ops instead of
canvas ops. This gives significant performance improvement in Opera.
Except for missing web-socet-js message notifications, Opera 10.60 is
now faster than firefox 3.5.
2010-07-01 10:30:07 -05:00
Joel Martin a93c955538 Opera works! Fix message event drops/reorders.
Instead of relying on FABridge AS -> JS event delivery, we just use
the events to notify JS of pending data. The message handler then
calls the AS readSocketData routine which sends back an array of
the pending WebSocket frames.

There is still a minor bug somewhere that happens after the first
connect where the web-socket-js throws an "INVALID_STATE_ERR: Web
Socket connection has not been established". But, Opera is now usable
and we should be able to drop the packet sequence numbering and
re-ordering code.

Another minor issue to better support Opera is to move JS script
includes to the <head> of the page instead of after the body.
2010-07-01 09:53:38 -05:00
Joel Martin 1eba7b4279 Update C proxy to WS protocol version 76.
Pull in LGPL md5.c and md5.h files (written by Ulrich Drepper).

Now both python and C version of the proxy support both protocol 75
and protocol 76 (hybi 00).

Reorganize websocket.py slightly to match websocket.c.
2010-06-30 20:39:41 -05:00
Joel Martin 5235b29ddf Significant firefox perf improvement. Update TODOs.
Interesting. Enough has changed in the Canvas tile operations, that
Canvas.prefer_js=true is better for firefox/gecko too. Approximately
2X improvement in firefox for large hextile renders.
2010-06-29 14:36:18 -05:00
Joel Martin dfa8db8f38 Fix issue #7: security scheme list parsing.
Also, lower connect timeout to 2 seconds.
2010-06-26 17:41:39 -05:00
Joel Martin c3785ae12b Remove proxy handshake debug. 2010-06-24 18:45:30 -05:00
Joel Martin ad8734937e Add WebSockets spec links. 2010-06-24 18:42:45 -05:00
Joel Martin 9e2f775d42 Add missing full GPL-3 text. 2010-06-24 18:04:40 -05:00
Joel Martin 48eed1ac05 Refactor canvas imageData test slightly. 2010-06-24 17:09:54 -05:00
Joel Martin 486cd527f2 Support WebSockets 76 (hixie-76, hybi-00).
Looks like disabling web-socket-js debug messages by default that we
get a minor speedup.

Python proxy should support both 75 and 76 (00) modes. Also, update ws
test to more reliably hit the WebSockets ordering/drop issue.
2010-06-24 17:04:57 -05:00
Joel Martin 7dfa20b8fd Remove invalid pos check from web-socket-js. 2010-06-24 17:01:58 -05:00
Joel Martin 094b489b76 Missed change web-socket-js to dd80a1807758abfab4a0fde840f94c5d649e4a24. 2010-06-24 17:00:41 -05:00
Joel Martin 2ddd6214a5 Add web-socket-js debug flag and default to off. 2010-06-24 16:59:53 -05:00
Joel Martin 76053e2bae Squelch MD5.as build warnings. 2010-06-24 16:58:24 -05:00
Joel Martin 0e9b61d209 TODO: Test IE 9 preview 3. 2010-06-24 12:55:26 -05:00
Joel Martin 35f5b11ce5 Update gimite/web-socket-js to dd80a1807758abfab4a0fde840f94c5d649e4a24 2010-06-24 12:42:34 -05:00
Joel Martin 48ffd4bcc7 TODO: already got Arora 0.5 working. 2010-06-24 11:19:19 -05:00
Joel Martin 5d41cbb278 TODO (WebSockets version 76) and Opera/Arora. 2010-06-24 11:12:49 -05:00
Joel Martin 7325b930f2 Add proxy functionality description. 2010-06-24 10:50:36 -05:00
Joel Martin d93d3e09ab Various cross-browser fixes.
Now working under Arora 0.5.

But not Konqueror 4.2.2 (WebSockets never connects).

IE support with excanvas still pending.
2010-06-23 16:08:36 -05:00
Joel Martin 11bb7a4ae4 Fix browser detection code in IE. 2010-06-21 16:30:32 -05:00
Joel Martin 3915e5365e Update README.md with browser support. 2010-06-21 13:20:57 -05:00
Joel Martin 3b7575b219 Better support console debug under Opera (DragonFly). 2010-06-20 15:10:34 -05:00
Joel Martin 2a4e7d8a93 Timeout connection. 2010-06-18 15:18:41 -05:00
Joel Martin 146071161f Update usage and README.md. 2010-06-17 17:50:15 -05:00
Joel Martin 5c34ce4beb More arg processing fixes. 2010-06-17 17:24:54 -05:00
Joel Martin ee26cbf24d Argument processing fixes. Misc proxy fixes. 2010-06-17 17:05:33 -05:00
Joel Martin 6ee61a4cf6 Add daemonization support to wsproxy.*.
Refactor how settings are passed around.
2010-06-17 16:06:18 -05:00
Joel Martin b2fd1bc374 Update TODO. 2010-06-17 09:31:13 -05:00
Joel Martin 459b2578b2 Force SSL option to proxies. Use getopt_long. 2010-06-16 13:58:00 -05:00
Joel Martin 8ef9ae8c96 Update TODO. 2010-06-16 13:57:10 -05:00