You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jo...@apache.org on 2011/05/07 03:33:42 UTC

svn commit: r1100428 - /shindig/trunk/features/src/main/javascript/features/rpc/flash.transport.js

Author: johnh
Date: Sat May  7 01:33:42 2011
New Revision: 1100428

URL: http://svn.apache.org/viewvc?rev=1100428&view=rev
Log:
Fix child-to-subchild communication in Flash transport.


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=1100428&r1=1100427&r2=1100428&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 Sat May  7 01:33:42 2011
@@ -46,6 +46,7 @@ if (!gadgets.rpctx.flash) {  // make lib
     var setupAttempts = 0;
 
     var SWF_CHANNEL_READY = "_scr";
+    var SWF_CONFIRMED_PARENT = "_pnt";
     var READY_TIMEOUT_MS = 100;
     var MAX_READY_RETRIES = 50;
     var readyAttempts = 0;
@@ -192,7 +193,7 @@ if (!gadgets.rpctx.flash) {  // make lib
         if (channelReady !== "..") {
           // Child-to-parent: immediately signal that parent is ready.
           // Now that we know that child can receive messages, it's enough to send once.
-          sendChannelReady(channelReady);
+          sendChannelReady(channelReady, true);
         }
         return;
       }
@@ -200,10 +201,11 @@ if (!gadgets.rpctx.flash) {  // make lib
     }
     exportMethod(receiveMessage, 'receiveMessage');
 
-    function sendChannelReady(receiverId) {
+    function sendChannelReady(receiverId, opt_isParentConfirmation) {
       var myId = gadgets.rpc.RPC_ID;
       var readyAck = {};
-      readyAck[SWF_CHANNEL_READY] = myId;
+      readyAck[SWF_CHANNEL_READY] = opt_isParentConfirmation ? ".." : myId;
+      readyAck[SWF_CONFIRMED_PARENT] = myId;
       call(receiverId, myId, readyAck);
     }