You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by hs...@apache.org on 2012/01/26 00:08:59 UTC
svn commit: r1235983 -
/shindig/trunk/features/src/main/javascript/features/rpc/flash.transport.js
Author: hsaputra
Date: Wed Jan 25 23:08:58 2012
New Revision: 1235983
URL: http://svn.apache.org/viewvc?rev=1235983&view=rev
Log:
SHINDIG-1678 The flash transport to support RPC for IE7 has problem with multiple gadgets in a single container. CR: https://reviews.apache.org/r/3566
Modified:
shindig/trunk/features/src/main/javascript/features/rpc/flash.transport.js
Modified: shindig/trunk/features/src/main/javascript/features/rpc/flash.transport.js
URL: http://svn.apache.org/viewvc/shindig/trunk/features/src/main/javascript/features/rpc/flash.transport.js?rev=1235983&r1=1235982&r2=1235983&view=diff
==============================================================================
--- shindig/trunk/features/src/main/javascript/features/rpc/flash.transport.js (original)
+++ shindig/trunk/features/src/main/javascript/features/rpc/flash.transport.js Wed Jan 25 23:08:58 2012
@@ -41,7 +41,11 @@ if (!gadgets.rpctx.flash) { // make lib
var LOADER_TIMEOUT_MS = 100;
var MAX_LOADER_RETRIES = 50;
+
var pendingHandshakes = [];
+ var flushHandshakesHandle = null;
+ var FLUSH_HANDSHAKES_TIMEOUT_MS = 500;
+
var setupHandle = null;
var setupAttempts = 0;
@@ -148,6 +152,12 @@ if (!gadgets.rpctx.flash) { // make lib
var targetId = shake.targetId;
relayHandle['setup'](shake.token, getChannelId(targetId), getRoleId(targetId));
}
+ if (flushHandshakesHandle !== null) {
+ window.clearTimeout(flushHandshakesHandle);
+ flushHandshakesHandle = null;
+ }
+ } else if (flushHandshakesHandle === null && pendingHandshakes.length > 0) {
+ flushHandshakesHandle = window.setTimeout(flushHandshakes, FLUSH_HANDSHAKES_TIMEOUT_MS);
}
}
@@ -238,6 +248,8 @@ if (!gadgets.rpctx.flash) { // make lib
if (relayHandle === null && setupHandle === null) {
setupHandle = window.setTimeout(relayLoader, LOADER_TIMEOUT_MS);
}
+ // Lets try to flush any registered handshakes
+ flushHandshakes();
return true;
},