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>