diff options
author | Dave Peticolas <[email protected]> | 2013-04-07 20:07:44 -0700 |
---|---|---|
committer | Dave Peticolas <[email protected]> | 2013-04-25 21:08:43 -0700 |
commit | 7706bf0bad40e45589cf813a8573e77351357e40 (patch) | |
tree | 7b29ac27b86a4ceadd35b1e3d7b3e4f5b77e955d | |
parent | e533e30dcaaf640f357e6e67e4ae4ab78e6411a5 (diff) | |
download | bullet-7706bf0bad40e45589cf813a8573e77351357e40.tar.gz bullet-7706bf0bad40e45589cf813a8573e77351357e40.tar.bz2 bullet-7706bf0bad40e45589cf813a8573e77351357e40.zip |
Javascript cleanup.
- Declare delayDefault as a local variable.
- Handle missing transport in send() and close().
The transport might be missing if we are in the
middle of a reconnect attempt.
- Drop transport reference after closing.
- Use null instead of false for missing transport.
-rw-r--r-- | priv/bullet.js | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/priv/bullet.js b/priv/bullet.js index 4ba2cb8..fe4df41 100644 --- a/priv/bullet.js +++ b/priv/bullet.js @@ -45,22 +45,22 @@ @see https://bugzilla.mozilla.org/show_bug.cgi?id=662554 */ websocket: function(){ - var ret = false; + var transport = null; if (window.WebSocket){ - ret = window.WebSocket; + transport = window.WebSocket; } if (window.MozWebSocket && navigator.userAgent.indexOf("Firefox/6.0") == -1){ - ret = window.MozWebSocket; + transport = window.MozWebSocket; } - if (ret){ - return {'heart': true, 'transport': ret}; + if (transport){ + return {'heart': true, 'transport': transport}; } - return false; + return null; }, xhrPolling: function(){ @@ -172,7 +172,8 @@ var isClosed = true; var readyState = CLOSED; var heartbeat; - var delay = delayDefault = 80; + var delay = 80; + var delayDefault = 80; var delayMax = 10000; var transport; @@ -210,6 +211,7 @@ return; } + transport = null; clearInterval(heartbeat); if (readyState == CLOSING){ @@ -250,11 +252,17 @@ url = newURL; }; this.send = function(data){ - return transport.send(data); + if (transport){ + return transport.send(data); + } else{ + return false; + } }; this.close = function(){ readyState = CLOSING; - transport.close(); + if (transport){ + transport.close(); + } }; }; |