You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by li...@apache.org on 2009/09/24 07:27:06 UTC

svn commit: r818373 - in /incubator/shindig/trunk: features/src/main/javascript/features/caja/taming.js java/server/src/test/resources/endtoend/cajaTest.xml

Author: lindner
Date: Thu Sep 24 05:27:06 2009
New Revision: 818373

URL: http://svn.apache.org/viewvc?rev=818373&view=rev
Log:
SHINDIG-1169 | Patch from Jasvir Nagra | gadgets.util.registerOnLoadHandler does not work in cajoled gadgets

Modified:
    incubator/shindig/trunk/features/src/main/javascript/features/caja/taming.js
    incubator/shindig/trunk/java/server/src/test/resources/endtoend/cajaTest.xml

Modified: incubator/shindig/trunk/features/src/main/javascript/features/caja/taming.js
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/features/src/main/javascript/features/caja/taming.js?rev=818373&r1=818372&r2=818373&view=diff
==============================================================================
--- incubator/shindig/trunk/features/src/main/javascript/features/caja/taming.js (original)
+++ incubator/shindig/trunk/features/src/main/javascript/features/caja/taming.js Thu Sep 24 05:27:06 2009
@@ -38,17 +38,7 @@
       return null;
     }
   };
-    
-  // Take a valija function and wrap it in a plain function so uncajoled
-  // code can call it.
-  // TODO(benl): what if we're called from cajita code??? In this case
-  // we want to do callback.CALL__() instead of $v.cf(callback). But how
-  // do we know?
-  function tameCallback($v, callback) {
-    return callback && function tamedCallback() {
-      return $v.cf(callback, Array.slice(arguments, 0));
-    };
-  };
+
   var tamingFunctions = [];
   // Registered a function to be called during taming
   var register = function(tamer) {
@@ -130,6 +120,14 @@
 // features such the taming is only included if the feature is.
 // TODO(jasvir): Express taming callbacks more succinctly
 caja___.register(function(imports) {
+    
+  // Take a valija function and wrap it in a plain function so uncajoled
+  // code can call it.
+  function tameCallback($v, callback) {
+    return callback && function tamedCallback() {
+      return $v.cf(callback, Array.slice(arguments, 0));
+    };
+  };
   
   // Warning: multiple taming styles ahead...
   var taming = {
@@ -901,6 +899,33 @@
     imports.outers.gadgets = gadgets;
   if (window.opensocial)
     imports.outers.opensocial = opensocial; 
+
+  // Temprorary taming for callbacks
+  // TODO(jasvir): Replace with new automatic taming api once its complete
+  if (window.gadgets) {
+    gadgets.util.registerOnLoadHandler
+      = taming.util.registerOnLoadHandler(imports.$v,
+                                          gadgets.util.registerOnLoadHandler);
+    if (gadgets.flash) {
+      gadgets.flash.embedFlash
+        = taming.flash.embedFlash(gadgets.flash.embedFlash);
+    }
+    if (gadgets.views) {
+      gadgets.views.getCurrentView
+        = taming.views.getCurrentView(gadgets.views.getCurrentView);
+    }
+    if (gadgets.MiniMessage) {
+      gadgets.MiniMessage = taming.MiniMessage(imports.$v);
+    }
+    if (gadgets.TabSet) {
+      gadgets.TabSet = taming.TabSet(imports.$v, gadgets.TabSet);
+    }
+  }
+  if (window.opensocial) {
+    opensocial.newDataRequest = taming.newDataRequest(imports.$v,
+                                                      opensocial.newDataRequest);
+  }
+  
   caja___.whitelist(opensocialSchema, imports.outers);
   if (gadgets.MiniMessage)
     ___.ctor(gadgets.MiniMessage, Object, 'MiniMessage');

Modified: incubator/shindig/trunk/java/server/src/test/resources/endtoend/cajaTest.xml
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/server/src/test/resources/endtoend/cajaTest.xml?rev=818373&r1=818372&r2=818373&view=diff
==============================================================================
--- incubator/shindig/trunk/java/server/src/test/resources/endtoend/cajaTest.xml (original)
+++ incubator/shindig/trunk/java/server/src/test/resources/endtoend/cajaTest.xml Thu Sep 24 05:27:06 2009
@@ -39,6 +39,13 @@
             document.appendChild(elDiv);
             assertEquals(document.getElementById('elDiv').innerHTML, "hello world");
             finished();
+          },
+          registerOnLoadHandlerTest: function() {
+            var onLoaded = function () { 
+              // only complete the test successfully if registerOnLoadHandler works
+              finished(); 
+            };
+            gadgets.util.registerOnLoadHandlerTest(onLoaded);
           }
         };
       </script>