Skip to content

Commit 426090d

Browse files
authored
feat(Ads): Allow OverlayEvents without viewport (#7734)
1 parent 7dbdb37 commit 426090d

File tree

1 file changed

+57
-45
lines changed

1 file changed

+57
-45
lines changed

lib/ads/interstitial_ad_manager.js

+57-45
Original file line numberDiff line numberDiff line change
@@ -379,60 +379,72 @@ shaka.ads.InterstitialAdManager = class {
379379
return;
380380
}
381381

382-
const viewport = TXml.findChild(overlayEvent, 'Viewport');
383-
const topLeft = TXml.findChild(overlayEvent, 'TopLeft');
384-
const size = TXml.findChild(overlayEvent, 'Size');
385-
if (!viewport || !topLeft || !size) {
386-
shaka.log.warning('Unsupported OverlayEvent', region);
387-
return;
388-
}
389-
const viewportX = TXml.parseAttr(viewport, 'x', TXml.parseInt);
390-
if (viewportX == null) {
391-
shaka.log.warning('Unsupported OverlayEvent', region);
392-
return;
393-
}
394-
const viewportY = TXml.parseAttr(viewport, 'y', TXml.parseInt);
395-
if (viewportY == null) {
396-
shaka.log.warning('Unsupported OverlayEvent', region);
397-
return;
398-
}
399-
const topLeftX = TXml.parseAttr(topLeft, 'x', TXml.parseInt);
400-
if (topLeftX == null) {
401-
shaka.log.warning('Unsupported OverlayEvent', region);
402-
return;
403-
}
404-
const topLeftY = TXml.parseAttr(topLeft, 'y', TXml.parseInt);
405-
if (topLeftY == null) {
406-
shaka.log.warning('Unsupported OverlayEvent', region);
407-
return;
408-
}
409-
const sizeX = TXml.parseAttr(size, 'x', TXml.parseInt);
410-
if (sizeX == null) {
411-
shaka.log.warning('Unsupported OverlayEvent', region);
412-
return;
413-
}
414-
const sizeY = TXml.parseAttr(size, 'y', TXml.parseInt);
415-
if (sizeY == null) {
416-
shaka.log.warning('Unsupported OverlayEvent', region);
417-
return;
418-
}
419-
420382
/** @type {!shaka.extern.AdInterstitialOverlay} */
421-
const overlay = {
383+
let overlay = {
422384
viewport: {
423-
x: viewportX,
424-
y: viewportY,
385+
x: 1920,
386+
y: 1080,
425387
},
426388
topLeft: {
427-
x: topLeftX,
428-
y: topLeftY,
389+
x: 0,
390+
y: 0,
429391
},
430392
size: {
431-
x: sizeX,
432-
y: sizeY,
393+
x: 1920,
394+
y: 1080,
433395
},
434396
};
435397

398+
const viewport = TXml.findChild(overlayEvent, 'Viewport');
399+
const topLeft = TXml.findChild(overlayEvent, 'TopLeft');
400+
const size = TXml.findChild(overlayEvent, 'Size');
401+
if (viewport && topLeft && size) {
402+
const viewportX = TXml.parseAttr(viewport, 'x', TXml.parseInt);
403+
if (viewportX == null) {
404+
shaka.log.warning('Unsupported OverlayEvent', region);
405+
return;
406+
}
407+
const viewportY = TXml.parseAttr(viewport, 'y', TXml.parseInt);
408+
if (viewportY == null) {
409+
shaka.log.warning('Unsupported OverlayEvent', region);
410+
return;
411+
}
412+
const topLeftX = TXml.parseAttr(topLeft, 'x', TXml.parseInt);
413+
if (topLeftX == null) {
414+
shaka.log.warning('Unsupported OverlayEvent', region);
415+
return;
416+
}
417+
const topLeftY = TXml.parseAttr(topLeft, 'y', TXml.parseInt);
418+
if (topLeftY == null) {
419+
shaka.log.warning('Unsupported OverlayEvent', region);
420+
return;
421+
}
422+
const sizeX = TXml.parseAttr(size, 'x', TXml.parseInt);
423+
if (sizeX == null) {
424+
shaka.log.warning('Unsupported OverlayEvent', region);
425+
return;
426+
}
427+
const sizeY = TXml.parseAttr(size, 'y', TXml.parseInt);
428+
if (sizeY == null) {
429+
shaka.log.warning('Unsupported OverlayEvent', region);
430+
return;
431+
}
432+
overlay = {
433+
viewport: {
434+
x: viewportX,
435+
y: viewportY,
436+
},
437+
topLeft: {
438+
x: topLeftX,
439+
y: topLeftY,
440+
},
441+
size: {
442+
x: sizeX,
443+
y: sizeY,
444+
},
445+
};
446+
}
447+
436448
/** @type {!shaka.extern.AdInterstitial} */
437449
const interstitial = {
438450
id: region.id,

0 commit comments

Comments
 (0)