summaryrefslogtreecommitdiffstats
path: root/priv
diff options
context:
space:
mode:
authorDave Peticolas <[email protected]>2013-04-07 20:07:44 -0700
committerDave Peticolas <[email protected]>2013-04-25 21:08:43 -0700
commit7706bf0bad40e45589cf813a8573e77351357e40 (patch)
tree7b29ac27b86a4ceadd35b1e3d7b3e4f5b77e955d /priv
parente533e30dcaaf640f357e6e67e4ae4ab78e6411a5 (diff)
downloadbullet-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.
Diffstat (limited to 'priv')
-rw-r--r--priv/bullet.js26
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();
+ }
};
};