1
0
Fork 0
firefox/browser/extensions/webcompat/shims/adnexus-prebid.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

68 lines
1.6 KiB
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
/**
* Bug 1694401 - Shim Prebid.js
*
* Some sites rely on prebid.js to place content, perhaps in conjunction with
* other services like Google Publisher Tags and Amazon TAM. This shim prevents
* site breakage like image galleries breaking as the user browsers them, by
* allowing the content placement to succeed.
*/
if (!window.pbjs?.requestBids) {
const que = window.pbjs?.que || [];
const cmd = window.pbjs?.cmd || [];
const adUnits = window.pbjs?.adUnits || [];
window.pbjs = {
adUnits,
addAdUnits(arr) {
if (!Array.isArray(arr)) {
arr = [arr];
}
adUnits.push(arr);
},
cmd,
offEvent() {},
que,
refreshAds() {},
removeAdUnit(codes) {
if (!Array.isArray(codes)) {
codes = [codes];
}
for (const code of codes) {
for (let i = adUnits.length - 1; i >= 0; i--) {
if (adUnits[i].code === code) {
adUnits.splice(i, 1);
}
}
}
},
renderAd() {},
requestBids(params) {
params?.bidsBackHandler?.();
},
setConfig() {},
setTargetingForGPTAsync() {},
};
const push = function (fn) {
if (typeof fn === "function") {
try {
fn();
} catch (e) {
console.trace(e);
}
}
};
que.push = push;
cmd.push = push;
que.forEach(push);
cmd.forEach(push);
}