in lib/ads/client_side_ad_manager.js [244:398]
addImaEventListeners_() {
/**
* @param {!Event} e
* @param {string} type
*/
const convertEventAndSend = (e, type) => {
const data = (new Map()).set('originalEvent', e);
this.onEvent_(new shaka.util.FakeEvent(type, data));
};
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdErrorEvent.Type.AD_ERROR, (error) => {
this.onAdError_(/** @type {!google.ima.AdErrorEvent} */ (error));
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, (e) => {
this.onAdStart_(/** @type {!google.ima.AdEvent} */ (e));
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.STARTED, (e) => {
this.onAdStart_(/** @type {!google.ima.AdEvent} */ (e));
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.FIRST_QUARTILE, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_FIRST_QUARTILE);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.MIDPOINT, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_MIDPOINT);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.THIRD_QUARTILE, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_THIRD_QUARTILE);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.COMPLETE, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_COMPLETE);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, (e) => {
this.onAdComplete_(/** @type {!google.ima.AdEvent} */ (e));
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.ALL_ADS_COMPLETED, (e) => {
this.onAdComplete_(/** @type {!google.ima.AdEvent} */ (e));
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.SKIPPED, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_SKIPPED);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.VOLUME_CHANGED, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_VOLUME_CHANGED);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.VOLUME_MUTED, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_MUTED);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.PAUSED, (e) => {
goog.asserts.assert(this.ad_ != null, 'Ad should not be null!');
this.ad_.setPaused(true);
convertEventAndSend(e, shaka.ads.AdManager.AD_PAUSED);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.RESUMED, (e) => {
goog.asserts.assert(this.ad_ != null, 'Ad should not be null!');
this.ad_.setPaused(false);
convertEventAndSend(e, shaka.ads.AdManager.AD_RESUMED);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED, (e) => {
goog.asserts.assert(this.ad_ != null, 'Ad should not be null!');
convertEventAndSend(e, shaka.ads.AdManager.AD_SKIP_STATE_CHANGED);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.CLICK, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_CLICKED);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.AD_PROGRESS, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_PROGRESS);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.AD_BUFFERING, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_BUFFERING);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.IMPRESSION, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_IMPRESSION);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.DURATION_CHANGE, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_DURATION_CHANGED);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.USER_CLOSE, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_CLOSED);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.LOADED, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_LOADED);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.ALL_ADS_COMPLETED, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.ALL_ADS_COMPLETED);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.LINEAR_CHANGED, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_LINEAR_CHANGED);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.AD_METADATA, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_METADATA);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.LOG, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_RECOVERABLE_ERROR);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.AD_BREAK_READY, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_BREAK_READY);
});
this.eventManager_.listen(this.imaAdsManager_,
google.ima.AdEvent.Type.INTERACTION, (e) => {
convertEventAndSend(e, shaka.ads.AdManager.AD_INTERACTION);
});
}