cmdproc: null,
comm_match: /_*@BEGIN@(.*?)@END@/g,
comm_clean: /_*@BEGIN@(.*?)@END@/,
- ctx_old: "",
ctx_old_len: 0,
// ctx_new: "",
ctx_new_len: 0,
this.ifra.style.visibility = "hidden";
this.doc.body.appendChild(this.ifra);
if (page != null)
- this.page = page;
+ this.page = url_complete(this.win.location.href, page);
this.page = url_append_args(this.page, "sess", this.sess, "st", this.gst.st);
this.log(this.page);
watchdog: function () {
var i, again;
var comm_newpart, comm_len, comm_arr;
+ var ctx_new_len;
// WATCHDOGING THE CONNECTION
+ this.log("hs::watchdog: start, cur equal times: "+this.keepalives_equal);
if ( (this.watchdog_ct % this.watchdog_checktm) == 0 || !this.watchable) {
- this.log("hs::watchdog: start, cur equal times: "+this.keepalives_equal);
if (!this.watchable) {
do {
if (typeof(this.ifra.contentWindow.http_streaming) == 'undefined')
again = 0;
if (typeof(this.ifra.contentWindow.ctx_new) == 'undefined')
break;
- if (this.ifra.contentWindow.ctx_new.length == this.ctx_old_len) {
- // this.ctx_new = this.ctx_old = "";
- // FIXME find a more robust clean method
+
+ ctx_new_length = this.ifra.contentWindow.ctx_new.length;
+ if (ctx_new_length == this.ctx_old_len) {
break;
}
- this.log("new: "+ this.ifra.contentWindow.ctx_new.length + " old: "+this.ctx_old_len);
+ this.log("new: "+ ctx_new_length + " old: "+this.ctx_old_len);
this.keepalive_new++;
- for (i = this.ctx_old_len ; i < this.ifra.contentWindow.ctx_new.length ; i++) {
- if (this.ifra.contentWindow.ctx_new[i] != '_')
+ for (i = this.ctx_old_len ; i < ctx_new_length ; i++) {
+ if (this.ifra.contentWindow.ctx_new.charAt(i) != '_') {
+ this.log("ctx_new.char(i) != '_' ["+this.ifra.contentWindow.ctx_new.charAt(i)+"]");
break;
+ }
+ else {
+ this.log("ctx_new.charAt(i) == '_'");
+ }
}
- if (i == this.ifra.contentWindow.ctx_new.length) {
- this.ctx_old_len = i;
+ this.ctx_old_len = i;
+ if (i == ctx_new_length) {
+ this.log("old_len == i");
break;
}
+ else {
+ this.log("old_len != i: "+i);
+ }
comm_newpart = this.ifra.contentWindow.ctx_new.substr(this.ctx_old_len);
comm_len = 0;
comm_arr = comm_newpart.match(this.comm_match);
// XX alert("COMM_ARR["+i+"]: "+comm_arr[i]+" LEN:"+comm_arr[i].length);
comm_len += comm_arr[i].length;
}
- this.ctx_old += comm_newpart.substr(0,comm_len);
again = 1;
}
- this.ctx_old_len = this.ctx_old.length;
+ this.ctx_old_len += comm_len;
} while (again);
delete this.ifra;
this.ifra = null;
}
- this.ctx_old = "";
this.ctx_old_len = 0;
},