mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 15:25:52 +00:00
Bug 1713698 - Add a SmartBlock shim for Amazon TAM; r=denschub,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D120240
This commit is contained in:
parent
18df9f0064
commit
d6e63d214a
@ -116,6 +116,14 @@ const AVAILABLE_SHIMS = [
|
||||
matches: ["*://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"],
|
||||
onlyIfBlockedByETP: true,
|
||||
},
|
||||
{
|
||||
id: "AmazonTAM",
|
||||
platform: "all",
|
||||
name: "Amazon Transparent Ad Marketplace",
|
||||
bug: "1713698",
|
||||
file: "apstag.js",
|
||||
matches: ["*://c.amazon-adsystem.com/aax2/apstag.js"],
|
||||
},
|
||||
{
|
||||
id: "BmAuth",
|
||||
platform: "all",
|
||||
|
@ -2,7 +2,7 @@
|
||||
"manifest_version": 2,
|
||||
"name": "Web Compatibility Interventions",
|
||||
"description": "Urgent post-release fixes for web compatibility.",
|
||||
"version": "24.4.0",
|
||||
"version": "24.5.0",
|
||||
|
||||
"applications": {
|
||||
"gecko": {
|
||||
@ -91,6 +91,7 @@
|
||||
|
||||
"web_accessible_resources": [
|
||||
"shims/adsafeprotected-ima.js",
|
||||
"shims/apstag.js",
|
||||
"shims/bmauth.js",
|
||||
"shims/chartbeat.js",
|
||||
"shims/eluminate.js",
|
||||
|
@ -80,6 +80,7 @@ FINAL_TARGET_FILES.features["webcompat@mozilla.org"]["injections"]["js"] += [
|
||||
|
||||
FINAL_TARGET_FILES.features["webcompat@mozilla.org"]["shims"] += [
|
||||
"shims/adsafeprotected-ima.js",
|
||||
"shims/apstag.js",
|
||||
"shims/bmauth.js",
|
||||
"shims/chartbeat.js",
|
||||
"shims/eluminate.js",
|
||||
|
71
browser/extensions/webcompat/shims/apstag.js
Normal file
71
browser/extensions/webcompat/shims/apstag.js
Normal file
@ -0,0 +1,71 @@
|
||||
/* 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 1713698 - Shim Amazon Transparent Ad Marketplace's apstag.js
|
||||
*
|
||||
* Some sites such as politico.com rely on Amazon TAM tracker to serve ads,
|
||||
* breaking functionality like galleries if it is blocked. This shim helps
|
||||
* mitigate major breakage in that case.
|
||||
*/
|
||||
|
||||
if (!window.apstag?._getSlotIdToNameMapping) {
|
||||
const _Q = window.apstag?._Q || [];
|
||||
|
||||
const newBid = config => {
|
||||
return {
|
||||
amznbid: "",
|
||||
amzniid: "",
|
||||
amznp: "",
|
||||
amznsz: "0x0",
|
||||
size: "0x0",
|
||||
slotID: config.slotID,
|
||||
};
|
||||
};
|
||||
|
||||
window.apstag = {
|
||||
_Q,
|
||||
_getSlotIdToNameMapping() {},
|
||||
bids() {},
|
||||
debug() {},
|
||||
deleteId() {},
|
||||
fetchBids(cfg, cb) {
|
||||
if (!Array.isArray(cfg?.slots)) {
|
||||
return;
|
||||
}
|
||||
cb(cfg.slots.map(s => newBid(s)));
|
||||
},
|
||||
init() {},
|
||||
punt() {},
|
||||
renderImp() {},
|
||||
renewId() {},
|
||||
setDisplayBids() {},
|
||||
targetingKeys: () => [],
|
||||
thirdPartyData: {},
|
||||
updateId() {},
|
||||
};
|
||||
|
||||
window.apstagLOADED = true;
|
||||
|
||||
_Q.push = function(prefix, args) {
|
||||
try {
|
||||
switch (prefix) {
|
||||
case "f":
|
||||
window.apstag.fetchBids(...args);
|
||||
break;
|
||||
case "i":
|
||||
window.apstag.init(...args);
|
||||
break;
|
||||
}
|
||||
} catch (e) {
|
||||
console.trace(e);
|
||||
}
|
||||
};
|
||||
|
||||
for (const cmd of _Q) {
|
||||
_Q.push(cmd);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user