Author: rbaxter85
Date: Tue Apr 29 16:04:31 2014
New Revision: 1591011

URL: http://svn.apache.org/r1591011
Log:
Allow container to control scrolling on IFrame
SHINDIG-1970

Modified:
    
shindig/trunk/features/src/main/javascript/features/container.site/site_holder.js
    
shindig/trunk/features/src/main/javascript/features/container.util/constant.js
    
shindig/trunk/features/src/test/javascript/features/container/gadget_holder_test.js

Modified: 
shindig/trunk/features/src/main/javascript/features/container.site/site_holder.js
URL: 
http://svn.apache.org/viewvc/shindig/trunk/features/src/main/javascript/features/container.site/site_holder.js?rev=1591011&r1=1591010&r2=1591011&view=diff
==============================================================================
--- 
shindig/trunk/features/src/main/javascript/features/container.site/site_holder.js
 (original)
+++ 
shindig/trunk/features/src/main/javascript/features/container.site/site_holder.js
 Tue Apr 29 16:04:31 2014
@@ -129,7 +129,7 @@ osapi.container.SiteHolder.prototype.cre
         id: this.iframeId_,
         name: this.iframeId_,
         src: url,
-        scrolling: 'no',
+        scrolling: renderParams[osapi.container.RenderParam.SCROLL] ? 'yes' : 
'no',
         marginwidth: 0,
         marginheight: 0,
         frameborder: 0,

Modified: 
shindig/trunk/features/src/main/javascript/features/container.util/constant.js
URL: 
http://svn.apache.org/viewvc/shindig/trunk/features/src/main/javascript/features/container.util/constant.js?rev=1591011&r1=1591010&r2=1591011&view=diff
==============================================================================
--- 
shindig/trunk/features/src/main/javascript/features/container.util/constant.js 
(original)
+++ 
shindig/trunk/features/src/main/javascript/features/container.util/constant.js 
Tue Apr 29 16:04:31 2014
@@ -138,7 +138,10 @@ osapi.container.RenderParam = {
      * The modduleId of this gadget.  Used to identify saved instances of 
gadgets.
      * Defaults to 0, which means the instance of the gadget is not saved.
      */
-    MODULE_ID: 'moduleid'
+    MODULE_ID: 'moduleid',
+
+    /** Will enable scrolling on the iFrame. */
+    SCROLL: 'scroll'
 };
 
 /**

Modified: 
shindig/trunk/features/src/test/javascript/features/container/gadget_holder_test.js
URL: 
http://svn.apache.org/viewvc/shindig/trunk/features/src/test/javascript/features/container/gadget_holder_test.js?rev=1591011&r1=1591010&r2=1591011&view=diff
==============================================================================
--- 
shindig/trunk/features/src/test/javascript/features/container/gadget_holder_test.js
 (original)
+++ 
shindig/trunk/features/src/test/javascript/features/container/gadget_holder_test.js
 Tue Apr 29 16:04:31 2014
@@ -135,6 +135,52 @@ GadgetHolderTest.prototype.testRenderWit
       element.innerHTML);
 };
 
+GadgetHolderTest.prototype.testRenderWithRenderRequestsScrolling = function() {
+         var gadgetInfo = {
+             'iframeUrls' : {'default' : 
'http://shindig/gadgets/ifr?url=gadget.xml&lang=%lang%&country=%country%#rpctoken=1234'},
+             'url' : 'gadget.xml'
+         };
+         var renderParams = {
+             'cajole' : true,
+             'class' : 'xyz',
+             'debug' : true,
+             'height' : 111,
+             'nocache' : true,
+             'testmode' : true,
+             'width' : 222,
+             'view' : 'default',
+             'scroll' : true
+         };
+         this.setupGadgetsRpcSetupReceiver();
+         var element = {
+           id: '123'
+         };
+         var service = {};
+         service.getCountry = function(){return "US";};
+         service.getLanguage = function(){return "en"};
+         var site = new osapi.container.GadgetSite(null, service, {gadgetEl: 
element, moduleId: 123});
+         var holder = new osapi.container.GadgetHolder(site, element, 
'__gadgetOnLoad');
+         holder.render(gadgetInfo, {}, renderParams);
+         this.assertEquals('<iframe' +
+             ' marginwidth="0"' +
+             ' hspace="0"' +
+             ' height="111"' +
+             ' title="default title"' +
+             ' frameborder="0"' +
+             ' scrolling="yes"' +
+             ' onload="window.__gadgetOnLoad(\'gadget.xml\', \'123\');"' +
+             ' class="xyz"' +
+             ' marginheight="0"' +
+             ' vspace="0"' +
+             ' id="__gadget_123"' +
+             ' width="222"' +
+             ' name="__gadget_123"' +
+             ' 
src="http://shindig/gadgets/ifr?url=gadget.xml&lang=en&country=US&debug=1&nocache=1&testmode=1'
 +
+                 
'&view=default&libs=caja&caja=1&parent=http%3A//container.com&mid=0#rpctoken=1234"'
 +
+             ' ></iframe>',
+             element.innerHTML);
+       };
+
 GadgetHolderTest.prototype.testRemoveOaContainer_exisiting = function() {
     var hub = this.setupMockPubsub2router(true);
     var holder = new osapi.container.GadgetHolder();


Reply via email to