Author: hsaputra
Date: Tue Mar 27 19:01:33 2012
New Revision: 1305953
URL: http://svn.apache.org/viewvc?rev=1305953&view=rev
Log:
Cleanup the sites and holder close flow to delegate removing iframe of the
gadget wrapper element to the holder from site responsibility. CR:
https://reviews.apache.org/r/4486.
Modified:
shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_holder.js
shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_site.js
shindig/trunk/features/src/main/javascript/features/container.site.url/url_holder.js
shindig/trunk/features/src/main/javascript/features/container.site/site.js
shindig/trunk/features/src/main/javascript/features/container.site/site_holder.js
shindig/trunk/features/src/test/javascript/features/container.url/url_site_test.js
Modified:
shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_holder.js
URL:
http://svn.apache.org/viewvc/shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_holder.js?rev=1305953&r1=1305952&r2=1305953&view=diff
==============================================================================
---
shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_holder.js
(original)
+++
shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_holder.js
Tue Mar 27 19:01:33 2012
@@ -81,6 +81,7 @@ osapi.container.GadgetHolder.prototype.g
* @inheritDoc
*/
osapi.container.GadgetHolder.prototype.dispose = function() {
+ osapi.container.SiteHolder.prototype.dispose.call(this); // super.dispose();
this.gadgetInfo_ = null;
};
@@ -129,8 +130,7 @@ osapi.container.GadgetHolder.prototype.s
* @param {Object} viewParams Look at osapi.container.ViewParam.
* @param {Object} renderParams Look at osapi.container.RenderParam.
*/
-osapi.container.GadgetHolder.prototype.render = function(
- gadgetInfo, viewParams, renderParams) {
+osapi.container.GadgetHolder.prototype.render = function(gadgetInfo,
viewParams, renderParams) {
this.iframeId_ = osapi.container.GadgetHolder.IFRAME_ID_PREFIX_ +
this.site_.getId();
this.gadgetInfo_ = gadgetInfo;
Modified:
shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_site.js
URL:
http://svn.apache.org/viewvc/shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_site.js?rev=1305953&r1=1305952&r2=1305953&view=diff
==============================================================================
---
shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_site.js
(original)
+++
shindig/trunk/features/src/main/javascript/features/container.site.gadget/gadget_site.js
Tue Mar 27 19:01:33 2012
@@ -366,14 +366,12 @@ osapi.container.GadgetSite.prototype.upd
* @inheritDoc
*/
osapi.container.GadgetSite.prototype.close = function() {
- osapi.container.Site.prototype.close.call(this); // super.close();
- if (this.loadingGadgetEl_ && this.loadingGadgetEl_.firstChild) {
- this.loadingGadgetEl_.removeChild(this.loadingGadgetEl_.firstChild);
+ if (this.loadingGadgetHolder_) {
+ this.loadingGadgetHolder_.dispose();
+ }
+ if (this.currentGadgetHolder_) {
+ this.currentGadgetHolder_.dispose();
}
-
- // dispose of our other holder.
- var holder = this.getActiveSiteHolder();
- holder && holder.dispose();
};
/**
Modified:
shindig/trunk/features/src/main/javascript/features/container.site.url/url_holder.js
URL:
http://svn.apache.org/viewvc/shindig/trunk/features/src/main/javascript/features/container.site.url/url_holder.js?rev=1305953&r1=1305952&r2=1305953&view=diff
==============================================================================
---
shindig/trunk/features/src/main/javascript/features/container.site.url/url_holder.js
(original)
+++
shindig/trunk/features/src/main/javascript/features/container.site.url/url_holder.js
Tue Mar 27 19:01:33 2012
@@ -47,6 +47,7 @@ osapi.container.UrlHolder.prototype = ne
* @inheridDoc
*/
osapi.container.UrlHolder.prototype.dispose = function() {
+ osapi.container.SiteHolder.prototype.dispose.call(this); // super.dispose();
this.url_ = null;
};
Modified:
shindig/trunk/features/src/main/javascript/features/container.site/site.js
URL:
http://svn.apache.org/viewvc/shindig/trunk/features/src/main/javascript/features/container.site/site.js?rev=1305953&r1=1305952&r2=1305953&view=diff
==============================================================================
--- shindig/trunk/features/src/main/javascript/features/container.site/site.js
(original)
+++ shindig/trunk/features/src/main/javascript/features/container.site/site.js
Tue Mar 27 19:01:33 2012
@@ -133,10 +133,6 @@ osapi.container.Site.prototype.setHeight
* Closes this site.
*/
osapi.container.Site.prototype.close = function() {
- if (this.el_ && this.el_.firstChild) {
- this.el_.removeChild(this.el_.firstChild);
- }
-
var holder = this.getActiveSiteHolder();
holder && holder.dispose();
};
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=1305953&r1=1305952&r2=1305953&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 Mar 27 19:01:33 2012
@@ -139,16 +139,18 @@ osapi.container.SiteHolder.prototype.cre
return params;
};
-//Abstract methods
-
/**
* Disposes the gadget holder and performs cleanup of any holder state.
* @abstract
*/
osapi.container.SiteHolder.prototype.dispose = function() {
- throw new Error("This method must be implemented by a subclass.");
+ if (this.el_ && this.el_.firstChild) {
+ this.el_.removeChild(this.el_.firstChild);
+ }
};
+//Abstract methods
+
/**
* Gets the iFrame element itself.
* @abstract
Modified:
shindig/trunk/features/src/test/javascript/features/container.url/url_site_test.js
URL:
http://svn.apache.org/viewvc/shindig/trunk/features/src/test/javascript/features/container.url/url_site_test.js?rev=1305953&r1=1305952&r2=1305953&view=diff
==============================================================================
---
shindig/trunk/features/src/test/javascript/features/container.url/url_site_test.js
(original)
+++
shindig/trunk/features/src/test/javascript/features/container.url/url_site_test.js
Tue Mar 27 19:01:33 2012
@@ -91,6 +91,7 @@ UrlSiteTest.prototype.testClose = functi
"urlEl" : el
};
var site = new osapi.container.UrlSite(null, null, args);
+ site.render("http://example.com", {});
site.close();
this.assertEquals("removedFirstChild", el.firstChild);
}