diff --git a/extensions/amp-kaltura-player/0.1/amp-kaltura-player.js b/extensions/amp-kaltura-player/0.1/amp-kaltura-player.js index a99915abd3a16..0652c390a7e08 100644 --- a/extensions/amp-kaltura-player/0.1/amp-kaltura-player.js +++ b/extensions/amp-kaltura-player/0.1/amp-kaltura-player.js @@ -104,6 +104,16 @@ class AmpKaltura extends AMP.BaseElement { return this.loadPromise(iframe); } + /** @override */ + unlayoutCallback() { + const iframe = this.iframe_; + if (iframe) { + this.element.removeChild(iframe); + this.iframe_ = null; + } + return true; + } + /** @override */ createPlaceholderCallback() { const placeholder = this.win.document.createElement('amp-img'); diff --git a/extensions/amp-kaltura-player/0.1/test/test-amp-kaltura-player.js b/extensions/amp-kaltura-player/0.1/test/test-amp-kaltura-player.js index f1fd836b53904..fa71503d8774b 100644 --- a/extensions/amp-kaltura-player/0.1/test/test-amp-kaltura-player.js +++ b/extensions/amp-kaltura-player/0.1/test/test-amp-kaltura-player.js @@ -120,6 +120,23 @@ describes.realWin( }); }); + it('unlayout and relayout', async () => { + const kp = await getKaltura({ + 'data-partner': '1281471', + 'data-entryid': '1_3ts1ms9c', + 'data-uiconf': '33502051', + 'data-param-my-param': 'hello world', + }); + expect(kp.querySelector('iframe')).to.exist; + + const unlayoutResult = kp.unlayoutCallback(); + expect(unlayoutResult).to.be.true; + expect(kp.querySelector('iframe')).to.not.exist; + + await kp.layoutCallback(); + expect(kp.querySelector('iframe')).to.exist; + }); + describe('createPlaceholderCallback', () => { it('should create a placeholder image', () => { return getKaltura({