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();