diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /browser/extensions/webcompat/data | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/extensions/webcompat/data')
-rw-r--r-- | browser/extensions/webcompat/data/injections.js | 847 | ||||
-rw-r--r-- | browser/extensions/webcompat/data/shims.js | 860 | ||||
-rw-r--r-- | browser/extensions/webcompat/data/ua_overrides.js | 954 |
3 files changed, 2661 insertions, 0 deletions
diff --git a/browser/extensions/webcompat/data/injections.js b/browser/extensions/webcompat/data/injections.js new file mode 100644 index 0000000000..bb7ced8470 --- /dev/null +++ b/browser/extensions/webcompat/data/injections.js @@ -0,0 +1,847 @@ +/* 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"; + +/* globals module, require */ + +// This is a hack for the tests. +if (typeof InterventionHelpers === "undefined") { + var InterventionHelpers = require("../lib/intervention_helpers"); +} + +/** + * For detailed information on our policies, and a documention on this format + * and its possibilites, please check the Mozilla-Wiki at + * + * https://wiki.mozilla.org/Compatibility/Go_Faster_Addon/Override_Policies_and_Workflows#User_Agent_overrides + */ +const AVAILABLE_INJECTIONS = [ + { + id: "testbed-injection", + platform: "all", + domain: "webcompat-addon-testbed.herokuapp.com", + bug: "0000000", + hidden: true, + contentScripts: { + matches: ["*://webcompat-addon-testbed.herokuapp.com/*"], + css: [ + { + file: "injections/css/bug0000000-testbed-css-injection.css", + }, + ], + js: [ + { + file: "injections/js/bug0000000-testbed-js-injection.js", + }, + ], + }, + }, + { + id: "bug1452707", + platform: "all", + domain: "ib.absa.co.za", + bug: "1452707", + contentScripts: { + matches: ["https://ib.absa.co.za/*"], + js: [ + { + file: + "injections/js/bug1452707-window.controllers-shim-ib.absa.co.za.js", + }, + ], + }, + }, + { + id: "bug1457335", + platform: "desktop", + domain: "histography.io", + bug: "1457335", + contentScripts: { + matches: ["*://histography.io/*"], + js: [ + { + file: "injections/js/bug1457335-histography.io-ua-change.js", + }, + ], + }, + }, + { + id: "bug1472075", + platform: "desktop", + domain: "bankofamerica.com", + bug: "1472075", + contentScripts: { + matches: ["*://*.bankofamerica.com/*"], + js: [ + { + file: "injections/js/bug1472075-bankofamerica.com-ua-change.js", + }, + ], + }, + }, + { + id: "bug1579159", + platform: "android", + domain: "m.tailieu.vn", + bug: "1579159", + contentScripts: { + matches: ["*://m.tailieu.vn/*", "*://m.elib.vn/*"], + js: [ + { + file: "injections/js/bug1579159-m.tailieu.vn-pdfjs-worker-disable.js", + }, + ], + allFrames: true, + }, + }, + { + id: "bug1583366", + platform: "desktop", + domain: "Download prompt for files with no content-type", + bug: "1583366", + data: { + urls: ["https://ads-us.rd.linksynergy.com/as.php*"], + contentType: { + name: "content-type", + value: "text/html; charset=utf-8", + }, + }, + customFunc: "noSniffFix", + }, + { + id: "bug1570328", + platform: "android", + domain: "developer.apple.com", + bug: "1570328", + contentScripts: { + matches: ["*://developer.apple.com/*"], + css: [ + { + file: + "injections/css/bug1570328-developer-apple.com-transform-scale.css", + }, + ], + }, + }, + { + id: "bug1575000", + platform: "all", + domain: "apply.lloydsbank.co.uk", + bug: "1575000", + contentScripts: { + matches: ["*://apply.lloydsbank.co.uk/*"], + css: [ + { + file: + "injections/css/bug1575000-apply.lloydsbank.co.uk-radio-buttons-fix.css", + }, + ], + }, + }, + { + id: "bug1605611", + platform: "android", + domain: "maps.google.com", + bug: "1605611", + contentScripts: { + matches: InterventionHelpers.matchPatternsForGoogle( + "*://www.google.", + "/maps*" + ), + css: [ + { + file: "injections/css/bug1605611-maps.google.com-directions-time.css", + }, + ], + js: [ + { + file: "injections/js/bug1605611-maps.google.com-directions-time.js", + }, + ], + }, + }, + { + id: "bug1610344", + platform: "all", + domain: "directv.com.co", + bug: "1610344", + contentScripts: { + matches: ["https://*.directv.com.co/*"], + css: [ + { + file: + "injections/css/bug1610344-directv.com.co-hide-unsupported-message.css", + }, + ], + }, + }, + { + id: "bug1644830", + platform: "desktop", + domain: "usps.com", + bug: "1644830", + contentScripts: { + matches: ["https://*.usps.com/*"], + css: [ + { + file: + "injections/css/bug1644830-missingmail.usps.com-checkboxes-not-visible.css", + }, + ], + }, + }, + { + id: "bug1651917", + platform: "android", + domain: "teletrader.com", + bug: "1651917", + contentScripts: { + matches: ["*://*.teletrader.com/*"], + css: [ + { + file: + "injections/css/bug1651917-teletrader.com.body-transform-origin.css", + }, + ], + }, + }, + { + id: "bug1653075", + platform: "desktop", + domain: "livescience.com", + bug: "1653075", + contentScripts: { + matches: ["*://*.livescience.com/*"], + css: [ + { + file: "injections/css/bug1653075-livescience.com-scrollbar-width.css", + }, + ], + }, + }, + { + id: "bug1654877", + platform: "android", + domain: "preev.com", + bug: "1654877", + contentScripts: { + matches: ["*://preev.com/*"], + css: [ + { + file: "injections/css/bug1654877-preev.com-moz-appearance-fix.css", + }, + ], + }, + }, + { + id: "bug1654907", + platform: "android", + domain: "reactine.ca", + bug: "1654907", + contentScripts: { + matches: ["*://*.reactine.ca/*"], + css: [ + { + file: "injections/css/bug1654907-reactine.ca-hide-unsupported.css", + }, + ], + }, + }, + { + id: "bug1631811", + platform: "all", + domain: "datastudio.google.com", + bug: "1631811", + contentScripts: { + matches: ["https://datastudio.google.com/embed/reporting/*"], + js: [ + { + file: "injections/js/bug1631811-datastudio.google.com-indexedDB.js", + }, + ], + allFrames: true, + }, + }, + { + id: "bug1694470", + platform: "android", + domain: "m.myvidster.com", + bug: "1694470", + contentScripts: { + matches: ["https://m.myvidster.com/*"], + css: [ + { + file: "injections/css/bug1694470-myvidster.com-content-not-shown.css", + }, + ], + }, + }, + { + id: "bug1731825", + platform: "desktop", + domain: "Office 365 email handling prompt", + bug: "1731825", + contentScripts: { + matches: [ + "*://*.live.com/*", + "*://*.office.com/*", + "*://*.sharepoint.com/*", + "*://*.office365.com/*", + ], + js: [ + { + file: + "injections/js/bug1731825-office365-email-handling-prompt-autohide.js", + }, + ], + allFrames: true, + }, + }, + { + id: "bug1707795", + platform: "desktop", + domain: "Office Excel spreadsheets", + bug: "1707795", + contentScripts: { + matches: [ + "*://*.live.com/*", + "*://*.office.com/*", + "*://*.sharepoint.com/*", + ], + css: [ + { + file: + "injections/css/bug1707795-office365-sheets-overscroll-disable.css", + }, + ], + allFrames: true, + }, + }, + { + id: "bug1712833", + platform: "all", + domain: "buskocchi.desuca.co.jp", + bug: "1712833", + contentScripts: { + matches: ["*://buskocchi.desuca.co.jp/*"], + css: [ + { + file: + "injections/css/bug1712833-buskocchi.desuca.co.jp-fix-map-height.css", + }, + ], + }, + }, + { + id: "bug1722955", + platform: "android", + domain: "frontgate.com", + bug: "1722955", + contentScripts: { + matches: ["*://*.frontgate.com/*"], + js: [ + { + file: "lib/ua_helpers.js", + }, + { + file: "injections/js/bug1722955-frontgate.com-ua-override.js", + }, + ], + allFrames: true, + }, + }, + { + id: "bug1724764", + platform: "android", + domain: "Issues related to missing window.print", + bug: "1724764", + contentScripts: { + matches: [ + "*://*.amextravel.com/*", // 1724764 + "*://*.edupage.org/*", // 1804477 and 1800118 + ], + js: [ + { + file: "injections/js/bug1724764-window-print.js", + }, + ], + }, + }, + { + id: "bug1724868", + platform: "android", + domain: "news.yahoo.co.jp", + bug: "1724868", + contentScripts: { + matches: ["*://news.yahoo.co.jp/articles/*", "*://s.yimg.jp/*"], + js: [ + { + file: "injections/js/bug1724868-news.yahoo.co.jp-ua-override.js", + }, + ], + allFrames: true, + }, + }, + { + id: "bug1741234", + platform: "all", + domain: "patient.alphalabs.ca", + bug: "1741234", + contentScripts: { + matches: ["*://patient.alphalabs.ca/*"], + css: [ + { + file: "injections/css/bug1741234-patient.alphalabs.ca-height-fix.css", + }, + ], + }, + }, + { + id: "bug1754473", + platform: "android", + domain: "m.intl.taobao.com", + bug: "1754473", + contentScripts: { + matches: ["*://m.intl.taobao.com/*"], + css: [ + { + file: + "injections/css/bug1754473-m.intl.taobao.com-number-arrow-buttons-overlapping-fix.css", + }, + ], + }, + }, + { + id: "bug1748455", + platform: "android", + domain: "reddit.com", + bug: "1748455", + contentScripts: { + matches: ["*://*.reddit.com/*"], + css: [ + { + file: + "injections/css/bug1748455-reddit.com-gallery-image-width-fix.css", + }, + ], + }, + }, + { + id: "bug1739489", + platform: "desktop", + domain: "Sites using draft.js", + bug: "1739489", + contentScripts: { + matches: [ + "*://draftjs.org/*", // Bug 1739489 + "*://www.facebook.com/*", // Bug 1739489 + "*://twitter.com/*", // Bug 1776229 + "*://mobile.twitter.com/*", // Bug 1776229 + ], + js: [ + { + file: "injections/js/bug1739489-draftjs-beforeinput.js", + }, + ], + }, + }, + { + id: "bug1765947", + platform: "android", + domain: "veniceincoming.com", + bug: "1765947", + contentScripts: { + matches: ["*://veniceincoming.com/*"], + css: [ + { + file: "injections/css/bug1765947-veniceincoming.com-left-fix.css", + }, + ], + }, + }, + { + id: "bug11769762", + platform: "all", + domain: "tiktok.com", + bug: "1769762", + contentScripts: { + matches: ["https://www.tiktok.com/*"], + js: [ + { + file: "injections/js/bug1769762-tiktok.com-plugins-shim.js", + }, + ], + }, + }, + { + id: "bug1770962", + platform: "all", + domain: "coldwellbankerhomes.com", + bug: "1770962", + contentScripts: { + matches: ["*://*.coldwellbankerhomes.com/*"], + css: [ + { + file: + "injections/css/bug1770962-coldwellbankerhomes.com-image-height.css", + }, + ], + }, + }, + { + id: "bug1774490", + platform: "all", + domain: "rainews.it", + bug: "1774490", + contentScripts: { + matches: ["*://www.rainews.it/*"], + css: [ + { + file: "injections/css/bug1774490-rainews.it-gallery-fix.css", + }, + ], + }, + }, + { + id: "bug1778239", + platform: "all", + domain: "m.pji.co.kr", + bug: "1778239", + contentScripts: { + matches: ["*://m.pji.co.kr/*"], + js: [ + { + file: "injections/js/bug1778239-m.pji.co.kr-banner-hide.js", + }, + ], + }, + }, + { + id: "bug1774005", + platform: "all", + domain: "Sites relying on window.InstallTrigger", + bug: "1774005", + contentScripts: { + matches: [ + "*://*.crunchyroll.com/*", // Bug 1777597 + "*://*.pixiv.net/*", // Bug 1774006 + "*://*.webex.com/*", // Bug 1788934 + "*://business.help.royalmail.com/app/webforms/*", // Bug 1786404 + "*://ifcinema.institutfrancais.com/*", // Bug 1806423 + "*://mobilevikings.be/*/registration/*", // Bug 1797400 + "*://www.northcountrypublicradio.org/contact/subscribe.html*", // Bug 1778382, + "*://www.schoolnutritionandfitness.com/*", // Bug 1793761 + ], + js: [ + { + file: "injections/js/bug1774005-installtrigger-shim.js", + }, + ], + allFrames: true, + }, + }, + { + id: "bug1784302", + platform: "android", + domain: "open.toutiao.com", + bug: "1784302", + contentScripts: { + matches: ["*://open.toutiao.com/*"], + js: [ + { + file: "injections/js/bug1784302-effectiveType-shim.js", + }, + ], + }, + }, + { + id: "bug1784141", + platform: "android", + domain: "aveeno.com and acuvue.com", + bug: "1784141", + contentScripts: { + matches: [ + "*://*.aveeno.com/*", + "*://*.aveeno.ca/*", + "*://*.aveeno.com.au/*", + "*://*.aveeno.co.kr/*", + "*://*.aveeno.co.uk/*", + "*://*.aveeno.ie/*", + "*://*.acuvue.com/*", // 1804730 + "*://*.acuvue.com.ar/*", + "*://*.acuvue.com.br/*", + "*://*.acuvue.ca/*", + "*://*.acuvue-fr.ca/*", + "*://*.acuvue.cl/*", + "*://*.acuvue.co.cr/*", + "*://*.acuvue.com.co/*", + "*://*.acuvue.com.do/*", + "*://*.acuvue.com.pe/*", + "*://*.acuvue.com.sv/*", + "*://*.acuvue.com.gt/*", + "*://*.acuvue.hn/*", + "*://*.acuvue.com.mx/*", + "*://*.acuvue.com.pa/*", + "*://*.acuvue.com.py/*", + "*://*.acuvue.com.pr/*", + "*://*.acuvue.com.uy/*", + "*://*.acuvue.com.au/*", + "*://*.acuvue.com.cn/*", + "*://*.acuvue.com.hk/*", + "*://*.acuvue.co.in/*", + "*://*.acuvue.co.id/*", + "*://acuvuevision.jp/*", + "*://*.acuvue.co.kr/*", + "*://*.acuvue.com.my/*", + "*://*.acuvue.co.nz/*", + "*://*.acuvue.com.sg/*", + "*://*.acuvue.com.tw/*", + "*://*.acuvue.co.th/*", + "*://*.acuvue.com.vn/*", + "*://*.acuvue.at/*", + "*://*.acuvue.be/*", + "*://*.fr.acuvue.be/*", + "*://*.acuvue-croatia.com/*", + "*://*.acuvue.cz/*", + "*://*.acuvue.dk/*", + "*://*.acuvue.fi/*", + "*://*.acuvue.fr/*", + "*://*.acuvue.de/*", + "*://*.acuvue.gr/*", + "*://*.acuvue.hu/*", + "*://*.acuvue.ie/*", + "*://*.acuvue.co.il/*", + "*://*.acuvue.it/*", + "*://*.acuvuekz.com/*", + "*://*.acuvue.lu/*", + "*://*.en.acuvuearabia.com/*", + "*://*.acuvuearabia.com/*", + "*://*.acuvue.nl/*", + "*://*.acuvue.no/*", + "*://*.acuvue.pl/*", + "*://*.acuvue.pt/*", + "*://*.acuvue.ro/*", + "*://*.acuvue.ru/*", + "*://*.acuvue.sk/*", + "*://*.acuvue.si/*", + "*://*.acuvue.co.za/*", + "*://*.jnjvision.com.tr/*", + "*://*.acuvue.co.uk/*", + "*://*.acuvue.ua/*", + "*://*.acuvue.com.pe/*", + "*://*.acuvue.es/*", + "*://*.acuvue.se/*", + "*://*.acuvue.ch/*", + ], + css: [ + { + file: + "injections/css/bug1784141-aveeno.com-acuvue.com-unsupported.css", + }, + ], + }, + }, + { + id: "bug1784195", + platform: "android", + domain: "nutmeg.morrisons.com", + bug: "1784195", + contentScripts: { + matches: ["*://nutmeg.morrisons.com/*"], + css: [ + { + file: "injections/css/bug1784195-nutmeg.morrisons.com-overflow.css", + }, + ], + }, + }, + { + id: "bug1784351", + platform: "desktop", + domain: "movistar.com.ar", + bug: "1784351", + contentScripts: { + matches: ["*://*.movistar.com.ar/*"], + css: [ + { + file: + "injections/css/bug1784351-movistar.com.ar-overflow-overlay-fix.css", + }, + ], + }, + }, + { + id: "bug1784199", + platform: "all", + domain: "Sites based on Entrata Platform", + bug: "1784199", + contentScripts: { + matches: [ + "*://*.aptsovation.com/*", + "*://*.liveatlasathens.com/*", // #111189 + "*://*.liveobserverpark.com/*", // #105244 + "*://*.nhcalaska.com/*", + "*://*.prospectportal.com/*", // #115206 + "*://*.securityproperties.com/*", + "*://*.theloftsorlando.com/*", + ], + css: [ + { + file: "injections/css/bug1784199-entrata-platform-unsupported.css", + }, + ], + }, + }, + { + id: "bug1789164", + platform: "all", + domain: "zdnet.com", + bug: "1789164", + contentScripts: { + matches: ["*://www.zdnet.com/*"], + css: [ + { + file: "injections/css/bug1789164-zdnet.com-cropped-section.css", + }, + ], + }, + }, + { + id: "bug1795490", + platform: "android", + domain: "www.china-airlines.com", + bug: "1795490", + contentScripts: { + matches: ["*://www.china-airlines.com/*"], + js: [ + { + file: + "injections/js/bug1795490-www.china-airlines.com-undisable-date-fields-on-mobile.js", + }, + ], + }, + }, + { + id: "bug1799968", + platform: "linux", + domain: "www.samsung.com", + bug: "1799968", + contentScripts: { + matches: ["*://www.samsung.com/*/watches/*/*"], + js: [ + { + file: + "injections/js/bug1799968-www.samsung.com-appVersion-linux-fix.js", + }, + ], + }, + }, + { + id: "bug1799980", + platform: "all", + domain: "healow.com", + bug: "1799980", + contentScripts: { + matches: ["*://healow.com/*"], + js: [ + { + file: "injections/js/bug1799980-healow.com-infinite-loop-fix.js", + }, + ], + }, + }, + { + id: "bug1799994", + platform: "all", + domain: "www.vivobarefoot.com", + bug: "1799994", + contentScripts: { + matches: ["*://www.vivobarefoot.com/*"], + css: [ + { + file: + "injections/css/bug1799994-www.vivobarefoot.com-product-filters-fix.css", + }, + ], + }, + }, + { + id: "bug1800000", + platform: "all", + domain: "www.honda.co.uk", + bug: "1800000", + contentScripts: { + matches: ["*://www.honda.co.uk/cars/book-a-service.html*"], + css: [ + { + file: + "injections/css/bug1800000-www.honda.co.uk-choose-dealer-button-fix.css", + }, + ], + }, + }, + { + id: "bug1800127", + platform: "all", + domain: "www.burgerking.es", + bug: "1800127", + contentScripts: { + matches: ["*://www.burgerking.es/*"], + css: [ + { + file: + "injections/css/bug1800127-www.burgerking.es-webkit-fill-available-fix.css", + }, + ], + }, + }, + { + id: "bug1800131", + platform: "all", + domain: "www.almosafer.com", + bug: "1800131", + contentScripts: { + matches: ["*://www.almosafer.com/mweb/flights-home*"], + js: [ + { + file: + "injections/js/bug1800131-www.almosafer.com-undisable-date-fields.js", + }, + ], + }, + }, + { + id: "bug1800143", + platform: "all", + domain: "www.nintendo.co.jp", + bug: "1800143", + contentScripts: { + matches: ["*://www.nintendo.co.jp/software/feature/*"], + css: [ + { + file: + "injections/css/bug1800143-www.nintendo.co.jp-zoomed-in-image-scrolling-fix.css", + }, + ], + }, + }, + { + id: "bug1803976", + platform: "desktop", + domain: "www.youtube.com", + bug: "1803976", + contentScripts: { + matches: ["*://www.youtube.com/*"], + js: [ + { + file: + "injections/js/bug1803976-www.youtube.com-performance-now-precision.js", + }, + ], + }, + }, +]; + +module.exports = AVAILABLE_INJECTIONS; diff --git a/browser/extensions/webcompat/data/shims.js b/browser/extensions/webcompat/data/shims.js new file mode 100644 index 0000000000..e0a206b452 --- /dev/null +++ b/browser/extensions/webcompat/data/shims.js @@ -0,0 +1,860 @@ +/* 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"; + +/* globals module, require */ + +const AVAILABLE_SHIMS = [ + { + hiddenInAboutCompat: true, + id: "LiveTestShim", + platform: "all", + name: "Live test shim", + bug: "livetest", + file: "live-test-shim.js", + matches: ["*://webcompat-addon-testbed.herokuapp.com/shims_test.js"], + needsShimHelpers: ["getOptions", "optIn"], + }, + { + hiddenInAboutCompat: true, + id: "MochitestShim", + platform: "all", + branch: ["all:ignoredOtherPlatform"], + name: "Test shim for Mochitests", + bug: "mochitest", + file: "mochitest-shim-1.js", + matches: [ + "*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test.js", + ], + needsShimHelpers: ["getOptions", "optIn"], + options: { + simpleOption: true, + complexOption: { a: 1, b: "test" }, + branchValue: { value: true, branches: [] }, + platformValue: { value: true, platform: "neverUsed" }, + }, + unblocksOnOptIn: ["*://trackertest.org/*"], + }, + { + hiddenInAboutCompat: true, + disabled: true, + id: "MochitestShim2", + platform: "all", + name: "Test shim for Mochitests (disabled by default)", + bug: "mochitest", + file: "mochitest-shim-2.js", + matches: [ + "*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_2.js", + ], + needsShimHelpers: ["getOptions", "optIn"], + options: { + simpleOption: true, + complexOption: { a: 1, b: "test" }, + branchValue: { value: true, branches: [] }, + platformValue: { value: true, platform: "neverUsed" }, + }, + unblocksOnOptIn: ["*://trackertest.org/*"], + }, + { + hiddenInAboutCompat: true, + id: "MochitestShim3", + platform: "all", + name: "Test shim for Mochitests (host)", + bug: "mochitest", + file: "mochitest-shim-3.js", + notHosts: ["example.com"], + matches: [ + "*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_3.js", + ], + }, + { + hiddenInAboutCompat: true, + id: "MochitestShim4", + platform: "all", + name: "Test shim for Mochitests (notHost)", + bug: "mochitest", + file: "mochitest-shim-3.js", + hosts: ["example.net"], + matches: [ + "*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_3.js", + ], + }, + { + hiddenInAboutCompat: true, + id: "MochitestShim5", + platform: "all", + name: "Test shim for Mochitests (branch)", + bug: "mochitest", + file: "mochitest-shim-3.js", + branches: ["never matches"], + matches: [ + "*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_3.js", + ], + }, + { + hiddenInAboutCompat: true, + id: "MochitestShim6", + platform: "never matches", + name: "Test shim for Mochitests (platform)", + bug: "mochitest", + file: "mochitest-shim-3.js", + matches: [ + "*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_3.js", + ], + }, + { + id: "AddThis", + platform: "all", + name: "AddThis", + bug: "1713694", + file: "addthis-angular.js", + matches: [ + "*://s7.addthis.com/icons/official-addthis-angularjs/current/dist/official-addthis-angularjs.min.js*", + ], + onlyIfBlockedByETP: true, + }, + { + id: "Adform", + platform: "all", + name: "Adform", + bug: "1713695", + file: "adform.js", + matches: [ + "*://track.adform.net/serving/scripts/trackpoint/", + "*://track.adform.net/serving/scripts/trackpoint/async/", + { + patterns: ["*://track.adform.net/Serving/TrackPoint/*"], + target: "tracking-pixel.png", + types: ["image", "imageset", "xmlhttprequest"], + }, + ], + onlyIfBlockedByETP: true, + }, + { + id: "AdNexusAST", + platform: "all", + name: "AdNexus AST", + bug: "1734130", + file: "adnexus-ast.js", + matches: ["*://*.adnxs.com/*/ast.js*"], + onlyIfBlockedByETP: true, + }, + { + id: "AdNexusPrebid", + platform: "all", + name: "AdNexus Prebid", + bug: "1713696", + file: "adnexus-prebid.js", + matches: ["*://*.adnxs.com/*/pb.js*", "*://*.adnxs.com/*/prebid*"], + onlyIfBlockedByETP: true, + }, + { + id: "AdobeEverestJS", + platform: "all", + name: "Adobe EverestJS", + bug: "1728114", + file: "everest.js", + matches: ["*://www.everestjs.net/static/st.v3.js*"], + onlyIfBlockedByETP: true, + }, + { + // keep this above AdSafeProtectedTrackingPixels + id: "AdSafeProtectedGoogleIMAAdapter", + platform: "all", + name: "Ad Safe Protected Google IMA Adapter", + bug: "1508639", + file: "adsafeprotected-ima.js", + matches: ["*://static.adsafeprotected.com/vans-adapter-google-ima.js"], + onlyIfBlockedByETP: true, + }, + { + id: "AdsByGoogle", + platform: "all", + name: "Ads by Google", + bug: "1713726", + file: "google-ads.js", + matches: [ + "*://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js", + { + patterns: [ + "*://pagead2.googlesyndication.com/pagead/*.js*fcd=true", + "*://pagead2.googlesyndication.com/pagead/js/*.js*fcd=true", + ], + target: "empty-script.js", + types: ["xmlhttprequest"], + }, + ], + onlyIfBlockedByETP: true, + }, + { + id: "AdvertisingCom", + platform: "all", + name: "advertising.com", + bug: "1701685", + matches: [ + { + patterns: ["*://*.advertising.com/*.js*"], + target: "https://redirect.firefox.etp/advertisingdotcom_js", + types: ["image", "imageset", "xmlhttprequest"], + onlyIfBlockedByETP: true, + }, + { + patterns: ["*://*.advertising.com/*"], + target: "https://redirect.firefox.etp/advertisingdotcom_pixel", + types: ["image", "imageset", "xmlhttprequest"], + onlyIfBlockedByETP: true, + }, + { + patterns: ["*://*.adsafeprotected.com/*"], + target: "https://redirect.firefox.etp/advertisingdotcom_pixel", + types: ["image", "imageset", "xmlhttprequest"], + onlyIfBlockedByETP: true, + }, + { + patterns: ["https://redirect.firefox.etp/advertisingdotcom_pixel"], + target: "tracking-pixel.png", + types: ["image", "imageset", "xmlhttprequest"], + }, + { + patterns: ["https://redirect.firefox.etp/advertisingdotcom_js"], + target: "empty-script.js", + types: ["xmlhttprequest"], + }, + ], + }, + { + id: "Branch", + platform: "all", + name: "Branch Web SDK", + bug: "1716220", + file: "branch.js", + matches: ["*://cdn.branch.io/branch-latest.min.js*"], + onlyIfBlockedByETP: true, + }, + { + id: "DoubleVerify", + platform: "all", + name: "DoubleVerify", + bug: "1771557", + file: "doubleverify.js", + matches: ["*://pub.doubleverify.com/signals/pub.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"], + onlyIfBlockedByETP: true, + }, + { + id: "BmAuth", + platform: "all", + name: "BmAuth by 9c9media", + bug: "1486337", + file: "bmauth.js", + matches: ["*://auth.9c9media.ca/auth/main.js"], + onlyIfBlockedByETP: true, + }, + { + id: "Chartbeat", + platform: "all", + name: "Chartbeat", + bug: "1713699", + file: "chartbeat.js", + matches: [ + "*://static.chartbeat.com/js/chartbeat.js", + "*://static.chartbeat.com/js/chartbeat_video.js", + ], + onlyIfBlockedByETP: true, + }, + { + id: "Criteo", + platform: "all", + name: "Criteo", + bug: "1713720", + file: "criteo.js", + matches: ["*://static.criteo.net/js/ld/publishertag.js"], + onlyIfBlockedByETP: true, + }, + { + // keep this above AdSafeProtectedTrackingPixels + id: "Doubleclick", + platform: "all", + name: "Doubleclick", + bug: "1713693", + matches: [ + { + patterns: [ + "*://securepubads.g.doubleclick.net/gampad/*ad-blk*", + "*://pubads.g.doubleclick.net/gampad/*ad-blk*", + ], + target: "empty-shim.txt", + types: ["image", "imageset", "xmlhttprequest"], + }, + { + patterns: [ + "*://securepubads.g.doubleclick.net/gampad/*xml_vmap1*", + "*://pubads.g.doubleclick.net/gampad/*xml_vmap1*", + ], + target: "vmad.xml", + types: ["image", "imageset", "xmlhttprequest"], + }, + { + patterns: [ + "*://vast.adsafeprotected.com/vast*", + "*://securepubads.g.doubleclick.net/gampad/*xml_vmap2*", + "*://pubads.g.doubleclick.net/gampad/*xml_vmap2*", + ], + target: "vast2.xml", + types: ["image", "imageset", "xmlhttprequest"], + }, + { + patterns: [ + "*://securepubads.g.doubleclick.net/gampad/*ad*", + "*://pubads.g.doubleclick.net/gampad/*ad*", + ], + target: "vast3.xml", + types: ["image", "imageset", "xmlhttprequest"], + }, + ], + onlyIfBlockedByETP: true, + }, + { + id: "PBMWebAPIFixes", + platform: "all", + name: "Private Browsing Web APIs", + bug: "1773110", + runFirst: "private-browsing-web-api-fixes.js", + matches: [ + "*://*.imgur.com/js/vendor.*.bundle.js", + "*://*.imgur.io/js/vendor.*.bundle.js", + "*://www.rva311.com/static/js/main.*.chunk.js", + "*://web-assets.toggl.com/app/assets/scripts/*.js", // bug 1783919 + ], + onlyIfPrivateBrowsing: true, + }, + { + id: "Eluminate", + platform: "all", + name: "Eluminate", + bug: "1503211", + file: "eluminate.js", + matches: ["*://libs.coremetrics.com/eluminate.js"], + onlyIfBlockedByETP: true, + }, + { + id: "FacebookSDK", + platform: "all", + branches: ["nightly:android"], + name: "Facebook SDK", + bug: "1226498", + file: "facebook-sdk.js", + logos: ["facebook.svg", "play.svg"], + matches: [ + "*://connect.facebook.net/*/sdk.js*", + "*://connect.facebook.net/*/all.js*", + { + patterns: ["*://www.facebook.com/platform/impression.php*"], + target: "tracking-pixel.png", + types: ["image", "imageset", "xmlhttprequest"], + }, + ], + needsShimHelpers: ["optIn", "getOptions"], + onlyIfBlockedByETP: true, + unblocksOnOptIn: [ + "*://connect.facebook.net/*/sdk.js*", + "*://connect.facebook.net/*/all.js*", + "*://*.xx.fbcdn.net/*", // covers: + // "*://scontent-.*-\d.xx.fbcdn.net/*", + // "*://static.xx.fbcdn.net/rsrc.php/*", + "*://graph.facebook.com/v2*access_token*", + "*://graph.facebook.com/v*/me*", + "*://graph.facebook.com/*/picture*", + "*://www.facebook.com/*/plugins/login_button.php*", + "*://www.facebook.com/x/oauth/status*", + { + patterns: [ + "*://www.facebook.com/*/plugins/video.php*", + "*://www.facebook.com/rsrc.php/*", + ], + branches: ["nightly"], + }, + ], + }, + { + id: "Fastclick", + platform: "all", + name: "Fastclick", + bug: "1738220", + file: "fastclick.js", + matches: [ + "*://secure.cdn.fastclick.net/js/cnvr-launcher/*/launcher-stub.min.js*", + ], + onlyIfBlockedByETP: true, + }, + { + id: "GoogleAnalyticsAndTagManager", + platform: "all", + name: "Google Analytics and Tag Manager", + bug: "1713687", + file: "google-analytics-and-tag-manager.js", + matches: [ + "*://www.google-analytics.com/analytics.js*", + "*://www.google-analytics.com/gtm/js*", + "*://www.googletagmanager.com/gtm.js*", + ], + onlyIfBlockedByETP: true, + }, + { + id: "GoogleAnalyticsECommercePlugin", + platform: "all", + name: "Google Analytics E-Commerce Plugin", + bug: "1620533", + file: "google-analytics-ecommerce-plugin.js", + matches: ["*://www.google-analytics.com/plugins/ua/ec.js"], + onlyIfBlockedByETP: true, + }, + { + id: "GoogleAnalyticsLegacy", + platform: "all", + name: "Google Analytics (legacy version)", + bug: "1487072", + file: "google-analytics-legacy.js", + matches: ["*://ssl.google-analytics.com/ga.js"], + onlyIfBlockedByETP: true, + }, + { + id: "GoogleIMA", + platform: "all", + name: "Google Interactive Media Ads", + bug: "1713690", + file: "google-ima.js", + matches: [ + "*://s0.2mdn.net/instream/html5/ima3.js", + "*://imasdk.googleapis.com/js/sdkloader/ima3.js", + ], + onlyIfBlockedByETP: true, + }, + { + id: "GooglePageAd", + platform: "all", + name: "Google Page Ad", + bug: "1713692", + file: "google-page-ad.js", + matches: ["*://www.googleadservices.com/pagead/conversion_async.js"], + onlyIfBlockedByETP: true, + }, + { + id: "GooglePublisherTags", + platform: "all", + name: "Google Publisher Tags", + bug: "1713685", + file: "google-publisher-tags.js", + matches: [ + "*://www.googletagservices.com/tag/js/gpt.js*", + "*://pagead2.googlesyndication.com/tag/js/gpt.js*", + "*://pagead2.googlesyndication.com/gpt/pubads_impl_*.js*", + "*://securepubads.g.doubleclick.net/tag/js/gpt.js*", + "*://securepubads.g.doubleclick.net/gpt/pubads_impl_*.js*", + ], + onlyIfBlockedByETP: true, + }, + { + id: "Google SafeFrame", + platform: "all", + name: "Google SafeFrame", + bug: "1713691", + matches: [ + { + patterns: [ + "*://tpc.googlesyndication.com/safeframe/*/html/container.html", + "*://*.safeframe.googlesyndication.com/safeframe/*/html/container.html", + ], + target: "google-safeframe.html", + types: ["sub_frame"], + }, + ], + onlyIfBlockedByETP: true, + }, + { + id: "GoogleTrends", + platform: "all", + name: "Google Trends", + bug: "1624914", + custom: "google-trends-dfpi-fix", + onlyIfDFPIActive: true, + matches: [ + { + patterns: ["*://trends.google.com/trends/embed*"], + types: ["sub_frame"], + }, + ], + }, + { + id: "IAM", + platform: "all", + name: "INFOnline IAM", + bug: "1761774", + file: "iam.js", + matches: ["*://script.ioam.de/iam.js"], + onlyIfBlockedByETP: true, + }, + { + // keep this above AdSafeProtectedTrackingPixels + id: "IASPET", + platform: "all", + name: "Integral Ad Science PET", + bug: "1713701", + file: "iaspet.js", + matches: [ + "*://cdn.adsafeprotected.com/iasPET.1.js", + "*://static.adsafeprotected.com/iasPET.1.js", + ], + onlyIfBlockedByETP: true, + }, + { + id: "MNet", + platform: "all", + name: "Media.net Ads", + bug: "1713703", + file: "empty-script.js", + matches: ["*://adservex.media.net/videoAds.js*"], + onlyIfBlockedByETP: true, + }, + { + id: "Moat", + platform: "all", + name: "Moat", + bug: "1713704", + file: "moat.js", + matches: [ + "*://*.moatads.com/*/moatad.js*", + "*://*.moatads.com/*/moatapi.js*", + "*://*.moatads.com/*/moatheader.js*", + "*://*.moatads.com/*/yi.js*", + ], + onlyIfBlockedByETP: true, + }, + { + id: "Nielsen", + platform: "all", + name: "Nielsen", + bug: "1760754", + file: "nielsen.js", + matches: ["*://*.imrworldwide.com/v60.js"], + onlyIfBlockedByETP: true, + }, + { + id: "Optimizely", + platform: "all", + name: "Optimizely", + bug: "1714431", + file: "optimizely.js", + matches: [ + "*://cdn.optimizely.com/js/*.js", + "*://cdn.optimizely.com/public/*.js", + ], + onlyIfBlockedByETP: true, + }, + { + id: "Rambler", + platform: "all", + name: "Rambler Authenticator", + bug: "1606428", + file: "rambler-authenticator.js", + matches: ["*://id.rambler.ru/rambler-id-helper/auth_events.js"], + needsShimHelpers: ["optIn"], + onlyIfBlockedByETP: true, + }, + { + id: "RichRelevance", + platform: "all", + name: "Rich Relevance", + bug: "1713725", + file: "rich-relevance.js", + matches: ["*://media.richrelevance.com/rrserver/js/1.2/p13n.js"], + onlyIfBlockedByETP: true, + }, + { + id: "Firebase", + platform: "all", + name: "Firebase", + bug: "1771783", + onlyIfPrivateBrowsing: true, + runFirst: "firebase.js", + matches: [ + // bugs 1750699, 1767407 + "*://www.gstatic.com/firebasejs/*/firebase-messaging.js*", + ], + contentScripts: [ + { + cookieStoreId: "firefox-private", + js: "firebase.js", + runAt: "document_start", + matches: [ + "*://www.homedepot.ca/*", // bug 1778993 + "*://orangerie.eu/*", // bug 1758442 + "*://web.whatsapp.com/*", // bug 1767407 + "*://www.tripadvisor.com/*", // bug 1779536 + "*://www.office.com/*", // bug 1783921 + ], + }, + ], + }, + { + id: "StickyAdsTV", + platform: "all", + name: "StickyAdsTV", + bug: "1717806", + matches: [ + { + patterns: [ + "*://ads.stickyadstv.com/auto-user-sync*", + "*://ads.stickyadstv.com/user-matching*", + ], + target: "https://redirect.firefox.etp/stickadstv", + types: ["image", "imageset", "xmlhttprequest"], + onlyIfBlockedByETP: true, + }, + { + patterns: ["https://redirect.firefox.etp/stickadstv"], + target: "tracking-pixel.png", + types: ["image", "imageset", "xmlhttprequest"], + }, + ], + }, + { + id: "Vidible", + branch: ["nightly"], + platform: "all", + name: "Vidible", + bug: "1713710", + file: "vidible.js", + logos: ["play.svg"], + matches: [ + "*://*.vidible.tv/*/vidible-min.js*", + "*://vdb-cdn-files.s3.amazonaws.com/*/vidible-min.js*", + ], + needsShimHelpers: ["optIn"], + onlyIfBlockedByETP: true, + unblocksOnOptIn: [ + "*://delivery.vidible.tv/jsonp/pid=*/vid=*/*.js*", + "*://delivery.vidible.tv/placement/*", + "*://img.vidible.tv/prod/*", + "*://cdn-ssl.vidible.tv/prod/player/js/*.js", + "*://hlsrv.vidible.tv/prod/*.m3u8*", + "*://videos.vidible.tv/prod/*.key*", + "*://videos.vidible.tv/prod/*.mp4*", + "*://videos.vidible.tv/prod/*.webm*", + "*://videos.vidible.tv/prod/*.ts*", + ], + }, + { + id: "Kinja", + platform: "all", + name: "Kinja", + bug: "1656171", + contentScripts: [ + { + js: "kinja.js", + matches: [ + "*://www.avclub.com/*", + "*://deadspin.com/*", + "*://gizmodo.com/*", + "*://jalopnik.com/*", + "*://jezebel.com/*", + "*://kotaku.com/*", + "*://lifehacker.com/*", + "*://www.theonion.com/*", + "*://www.theroot.com/*", + "*://thetakeout.com/*", + "*://theinventory.com/*", + ], + runAt: "document_start", + allFrames: true, + }, + ], + onlyIfDFPIActive: true, + }, + { + id: "MicrosoftLogin", + platform: "desktop", + name: "Microsoft Login", + bug: "1638383", + requestStorageAccessForRedirect: [ + ["*://web.powerva.microsoft.com/*", "*://login.microsoftonline.com/*"], + ["*://teams.microsoft.com/*", "*://login.microsoftonline.com/*"], + ["*://*.teams.microsoft.us/*", "*://login.microsoftonline.us/*"], + ], + contentScripts: [ + { + js: "microsoftLogin.js", + matches: [ + "*://web.powerva.microsoft.com/*", + "*://teams.microsoft.com/*", + "*://*.teams.microsoft.us/*", + ], + runAt: "document_start", + }, + ], + onlyIfDFPIActive: true, + }, + { + id: "MicrosoftVirtualAssistant", + platform: "all", + name: "Microsoft Virtual Assistant", + bug: "1801277", + contentScripts: [ + { + js: "microsoftVirtualAssistant.js", + matches: ["*://publisher.liveperson.net/*"], + runAt: "document_start", + allFrames: true, + }, + ], + }, + { + id: "History", + platform: "all", + name: "History.com", + bug: "1624853", + contentScripts: [ + { + js: "history.js", + matches: ["*://play.history.com/*"], + runAt: "document_start", + }, + ], + onlyIfDFPIActive: true, + }, + { + id: "Crave.ca", + platform: "all", + name: "Crave.ca", + bug: "1746439", + contentScripts: [ + { + js: "crave-ca.js", + matches: ["*://account.bellmedia.ca/login*"], + runAt: "document_start", + }, + ], + onlyIfDFPIActive: true, + }, + { + id: "MaxMindGeoIP", + platform: "all", + name: "MaxMind GeoIP", + bug: "1754389", + file: "maxmind-geoip.js", + matches: ["*://js.maxmind.com/js/apis/geoip2/*/geoip2.js"], + onlyIfBlockedByETP: true, + }, + { + id: "WebTrends", + platform: "all", + name: "WebTrends", + bug: "1766414", + file: "webtrends.js", + matches: [ + "*://s.webtrends.com/js/advancedLinkTracking.js", + "*://s.webtrends.com/js/webtrends.js", + "*://s.webtrends.com/js/webtrends.min.js", + ], + onlyIfBlockedByETP: true, + }, + { + id: "Blogger", + platform: "all", + name: "Blogger", + bug: "1776869", + contentScripts: [ + { + js: "blogger.js", + matches: ["*://www.blogger.com/comment/frame/*"], + runAt: "document_start", + allFrames: true, + }, + { + js: "bloggerAccount.js", + matches: ["*://www.blogger.com/blog/*"], + runAt: "document_end", + }, + ], + onlyIfDFPIActive: true, + }, + { + id: "FirebaseSignIn", + platform: "all", + name: "Firebase Sign-In", + bug: "1782772", + requestStorageAccessForRedirect: [ + ["*://*/*", "*://*.firebaseapp.com/*/auth/*signInViaRedirect*"], + ["*://*/*", "*://members.rally.allizom.org/*/auth/*signInViaRedirect*"], + ["*://*/*", "*://members.rally.mozilla.org/*/auth/*signInViaRedirect*"], + ], + onlyIfDFPIActive: true, + }, + { + // keep this below any other shims checking adsafeprotected URLs + id: "AdSafeProtectedTrackingPixels", + platform: "all", + name: "Ad Safe Protected tracking pixels", + bug: "1717806", + matches: [ + { + patterns: [ + "*://*.adsafeprotected.com/*.gif*", + "*://*.adsafeprotected.com/*.png*", + ], + target: "https://redirect.firefox.etp/adsafeprotected_pixel", + types: ["image", "imageset", "xmlhttprequest"], + onlyIfBlockedByETP: true, + }, + { + patterns: [ + "*://*.adsafeprotected.com/*.js*", + "*://*.adsafeprotected.com/*/adj*", + "*://*.adsafeprotected.com/*/imp/*", + "*://*.adsafeprotected.com/*/Serving/*", + "*://*.adsafeprotected.com/*/unit/*", + "*://*.adsafeprotected.com/jload", + "*://*.adsafeprotected.com/jload?*", + "*://*.adsafeprotected.com/jsvid", + "*://*.adsafeprotected.com/jsvid?*", + "*://*.adsafeprotected.com/mon*", + "*://*.adsafeprotected.com/tpl", + "*://*.adsafeprotected.com/tpl?*", + "*://*.adsafeprotected.com/services/pub*", + ], + target: "https://redirect.firefox.etp/adsafeprotected_js", + types: ["image", "imageset", "xmlhttprequest"], + onlyIfBlockedByETP: true, + }, + { + // note, fallback case seems to be an image + patterns: ["*://*.adsafeprotected.com/*"], + target: "https://redirect.firefox.etp/adsafeprotected_pixel", + types: ["image", "imageset", "xmlhttprequest"], + onlyIfBlockedByETP: true, + }, + { + patterns: ["https://redirect.firefox.etp/adsafeprotected_pixel"], + target: "tracking-pixel.png", + types: ["image", "imageset", "xmlhttprequest"], + }, + { + patterns: ["https://redirect.firefox.etp/adsafeprotected_js"], + target: "empty-script.js", + types: ["xmlhttprequest"], + }, + ], + }, +]; + +module.exports = AVAILABLE_SHIMS; diff --git a/browser/extensions/webcompat/data/ua_overrides.js b/browser/extensions/webcompat/data/ua_overrides.js new file mode 100644 index 0000000000..b5f0f3f88d --- /dev/null +++ b/browser/extensions/webcompat/data/ua_overrides.js @@ -0,0 +1,954 @@ +/* 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"; + +/* globals browser, module, require */ + +// This is a hack for the tests. +if (typeof InterventionHelpers === "undefined") { + var InterventionHelpers = require("../lib/intervention_helpers"); +} +if (typeof UAHelpers === "undefined") { + var UAHelpers = require("../lib/ua_helpers"); +} + +/** + * For detailed information on our policies, and a documention on this format + * and its possibilites, please check the Mozilla-Wiki at + * + * https://wiki.mozilla.org/Compatibility/Go_Faster_Addon/Override_Policies_and_Workflows#User_Agent_overrides + */ +const AVAILABLE_UA_OVERRIDES = [ + { + id: "testbed-override", + platform: "all", + domain: "webcompat-addon-testbed.herokuapp.com", + bug: "0000000", + config: { + hidden: true, + matches: ["*://webcompat-addon-testbed.herokuapp.com/*"], + uaTransformer: originalUA => { + return ( + UAHelpers.getPrefix(originalUA) + + " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36 for WebCompat" + ); + }, + }, + }, + { + /* + * Bug 1577519 - directv.com - Create a UA override for directv.com for playback on desktop + * WebCompat issue #3846 - https://webcompat.com/issues/3846 + * + * directv.com (attwatchtv.com) is blocking Firefox via UA sniffing. Spoofing as Chrome allows + * to access the site and playback works fine. This is former directvnow.com + */ + id: "bug1577519", + platform: "desktop", + domain: "directv.com", + bug: "1577519", + config: { + matches: ["*://*.directv.com/*", "*://*.attwatchtv.com/*"], + uaTransformer: originalUA => { + return ( + UAHelpers.getPrefix(originalUA) + + " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36" + ); + }, + }, + }, + { + /* + * Bug 1570108 - steamcommunity.com - UA override for steamcommunity.com + * WebCompat issue #34171 - https://webcompat.com/issues/34171 + * + * steamcommunity.com blocks chat feature for Firefox users showing unsupported browser message. + * When spoofing as Chrome the chat works fine + */ + id: "bug1570108", + platform: "desktop", + domain: "steamcommunity.com", + bug: "1570108", + config: { + matches: ["*://steamcommunity.com/chat*"], + uaTransformer: originalUA => { + return ( + UAHelpers.getPrefix(originalUA) + + " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36" + ); + }, + }, + }, + { + /* + * Bug 1582582 - sling.com - UA override for sling.com + * WebCompat issue #17804 - https://webcompat.com/issues/17804 + * + * sling.com blocks Firefox users showing unsupported browser message. + * When spoofing as Chrome playing content works fine + */ + id: "bug1582582", + platform: "desktop", + domain: "sling.com", + bug: "1582582", + config: { + matches: ["https://watch.sling.com/*", "https://www.sling.com/*"], + uaTransformer: originalUA => { + return ( + UAHelpers.getPrefix(originalUA) + + " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36" + ); + }, + }, + }, + { + /* + * Bug 1610026 - www.mobilesuica.com - UA override for www.mobilesuica.com + * WebCompat issue #4608 - https://webcompat.com/issues/4608 + * + * mobilesuica.com showing unsupported message for Firefox users + * Spoofing as Chrome allows to access the page + */ + id: "bug1610026", + platform: "all", + domain: "www.mobilesuica.com", + bug: "1610026", + config: { + matches: ["https://www.mobilesuica.com/*"], + uaTransformer: originalUA => { + return ( + UAHelpers.getPrefix(originalUA) + + " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36" + ); + }, + }, + }, + { + /* + * Bug 1177298 - Write UA overrides for top Japanese Sites + * (Imported from ua-update.json.in) + * + * To receive the proper mobile version instead of the desktop version or + * a lower grade mobile experience, the UA is spoofed. + */ + id: "bug1177298-2", + platform: "android", + domain: "lohaco.jp", + bug: "1177298", + config: { + matches: ["*://*.lohaco.jp/*"], + uaTransformer: _ => { + return "Mozilla/5.0 (Linux; Android 5.0.2; Galaxy Nexus Build/IMM76B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.93 Mobile Safari/537.36"; + }, + }, + }, + { + /* + * Bug 1177298 - Write UA overrides for top Japanese Sites + * (Imported from ua-update.json.in) + * + * To receive the proper mobile version instead of the desktop version or + * a lower grade mobile experience, the UA is spoofed. + */ + id: "bug1177298-3", + platform: "android", + domain: "nhk.or.jp", + bug: "1177298", + config: { + matches: ["*://*.nhk.or.jp/*"], + uaTransformer: originalUA => { + return originalUA + " AppleWebKit"; + }, + }, + }, + { + /* + * Bug 1385206 - Create UA override for rakuten.co.jp on Firefox Android + * (Imported from ua-update.json.in) + * + * rakuten.co.jp serves a Desktop version if Firefox is included in the UA. + */ + id: "bug1385206", + platform: "android", + domain: "rakuten.co.jp", + bug: "1385206", + config: { + matches: ["*://*.rakuten.co.jp/*"], + uaTransformer: originalUA => { + return originalUA.replace(/Firefox.+$/, ""); + }, + }, + }, + { + /* + * Bug 969844 - mobile.de sends desktop site to Firefox on Android + * + * mobile.de sends the desktop site to Firefox Mobile. + * Spoofing as Chrome works fine. + */ + id: "bug969844", + platform: "android", + domain: "mobile.de", + bug: "969844", + config: { + matches: ["*://*.mobile.de/*"], + uaTransformer: _ => { + return "Mozilla/5.0 (Linux; Android 6.0.1; SM-G920F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.91 Mobile Safari/537.36"; + }, + }, + }, + { + /* + * Bug 1509873 - zmags.com - Add UA override for secure.viewer.zmags.com + * WebCompat issue #21576 - https://webcompat.com/issues/21576 + * + * The zmags viewer locks out Firefox Mobile with a "Browser unsupported" + * message, but tests showed that it works just fine with a Chrome UA. + * Outreach attempts were unsuccessful, and as the site has a relatively + * high rank, we alter the UA. + */ + id: "bug1509873", + platform: "android", + domain: "zmags.com", + bug: "1509873", + config: { + matches: ["*://*.viewer.zmags.com/*"], + uaTransformer: originalUA => { + return ( + UAHelpers.getPrefix(originalUA) + + " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.91 Mobile Safari/537.36" + ); + }, + }, + }, + { + /* + * Bug 1574522 - UA override for enuri.com on Firefox for Android + * WebCompat issue #37139 - https://webcompat.com/issues/37139 + * + * enuri.com returns a different template for Firefox on Android + * based on server side UA detection. This results in page content cut offs. + * Spoofing as Chrome fixes the issue + */ + id: "bug1574522", + platform: "android", + domain: "enuri.com", + bug: "1574522", + config: { + matches: ["*://enuri.com/*"], + uaTransformer: _ => { + return "Mozilla/5.0 (Linux; Android 6.0.1; SM-G900M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.111 Mobile Safari/537.36"; + }, + }, + }, + { + /* + * Bug 1574564 - UA override for ceskatelevize.cz on Firefox for Android + * WebCompat issue #15467 - https://webcompat.com/issues/15467 + * + * ceskatelevize sets streamingProtocol depending on the User-Agent it sees + * in the request headers, returning DASH for Chrome, HLS for iOS, + * and Flash for Firefox Mobile. Since Mobile has no Flash, the video + * doesn't work. Spoofing as Chrome makes the video play + */ + id: "bug1574564", + platform: "android", + domain: "ceskatelevize.cz", + bug: "1574564", + config: { + matches: ["*://*.ceskatelevize.cz/*"], + uaTransformer: originalUA => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1577267 - UA override for metfone.com.kh on Firefox for Android + * WebCompat issue #16363 - https://webcompat.com/issues/16363 + * + * metfone.com.kh has a server side UA detection which returns desktop site + * for Firefox for Android. Spoofing as Chrome allows to receive mobile version + */ + id: "bug1577267", + platform: "android", + domain: "metfone.com.kh", + bug: "1577267", + config: { + matches: ["*://*.metfone.com.kh/*"], + uaTransformer: originalUA => { + return ( + UAHelpers.getPrefix(originalUA) + + " AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.111 Mobile Safari/537.36" + ); + }, + }, + }, + { + /* + * Bug 1598198 - User Agent extension for Samsung's galaxy.store URLs + * + * Samsung's galaxy.store shortlinks are supposed to redirect to a Samsung + * intent:// URL on Samsung devices, but to an error page on other brands. + * As we do not provide device info in our user agent string, this check + * fails, and even Samsung users land on an error page if they use Firefox + * for Android. + * This intervention adds a simple "Samsung" identifier to the User Agent + * on only the Galaxy Store URLs if the device happens to be a Samsung. + */ + id: "bug1598198", + platform: "android", + domain: "galaxy.store", + bug: "1598198", + config: { + matches: [ + "*://galaxy.store/*", + "*://dev.galaxy.store/*", + "*://stg.galaxy.store/*", + ], + uaTransformer: originalUA => { + if (!browser.systemManufacturer) { + return originalUA; + } + + const manufacturer = browser.systemManufacturer.getManufacturer(); + if (manufacturer && manufacturer.toLowerCase() === "samsung") { + return originalUA.replace("Mobile;", "Mobile; Samsung;"); + } + + return originalUA; + }, + }, + }, + { + /* + * Bug 1595215 - UA overrides for Uniqlo sites + * Webcompat issue #38825 - https://webcompat.com/issues/38825 + * + * To receive the proper mobile version instead of the desktop version or + * avoid redirect loop, the UA is spoofed. + */ + id: "bug1595215", + platform: "android", + domain: "uniqlo.com", + bug: "1595215", + config: { + matches: ["*://*.uniqlo.com/*"], + uaTransformer: originalUA => { + return originalUA + " Mobile Safari"; + }, + }, + }, + { + /* + * Bug 1622063 - UA override for wp1-ext.usps.gov + * Webcompat issue #29867 - https://webcompat.com/issues/29867 + * + * The Job Search site for USPS does not work for Firefox Mobile + * browsers (a 500 is returned). + */ + id: "bug1622063", + platform: "android", + domain: "wp1-ext.usps.gov", + bug: "1622063", + config: { + matches: ["*://wp1-ext.usps.gov/*"], + uaTransformer: originalUA => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1697324 - Update the override for mobile2.bmo.com + * Previously Bug 1622081 - UA override for mobile2.bmo.com + * Webcompat issue #45019 - https://webcompat.com/issues/45019 + * + * Unless the UA string contains "Chrome", mobile2.bmo.com will + * display a modal saying the browser is out-of-date. + */ + id: "bug1697324", + platform: "android", + domain: "mobile2.bmo.com", + bug: "1697324", + config: { + matches: ["*://mobile2.bmo.com/*"], + uaTransformer: originalUA => { + return originalUA + " Chrome"; + }, + }, + }, + { + /* + * Bug 1628455 - UA override for autotrader.ca + * Webcompat issue #50961 - https://webcompat.com/issues/50961 + * + * autotrader.ca is showing desktop site for Firefox on Android + * based on server side UA detection. Spoofing as Chrome allows to + * get mobile experience + */ + id: "bug1628455", + platform: "android", + domain: "autotrader.ca", + bug: "1628455", + config: { + matches: ["https://*.autotrader.ca/*"], + uaTransformer: () => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1646791 - bancosantander.es - Re-add UA override. + * Bug 1665129 - *.gruposantander.es - Add wildcard domains. + * WebCompat issue #33462 - https://webcompat.com/issues/33462 + * SuMo request - https://support.mozilla.org/es/questions/1291085 + * + * santanderbank expects UA to have 'like Gecko', otherwise it runs + * xmlDoc.onload whose support has been dropped. It results in missing labels in forms + * and some other issues. Adding 'like Gecko' fixes those issues. + */ + id: "bug1646791", + platform: "all", + domain: "santanderbank.com", + bug: "1646791", + config: { + matches: [ + "*://*.bancosantander.es/*", + "*://*.gruposantander.es/*", + "*://*.santander.co.uk/*", + ], + uaTransformer: originalUA => { + // The first line related to Firefox 100 is for Bug 1743445. + // [TODO]: Remove when bug 1743429 gets backed out. + return UAHelpers.capVersionTo99(originalUA).replace( + "Gecko", + "like Gecko" + ); + }, + }, + }, + { + /* + * Bug 1651292 - UA override for www.jp.square-enix.com + * Webcompat issue #53018 - https://webcompat.com/issues/53018 + * + * Unless the UA string contains "Chrome 66+", a section of + * www.jp.square-enix.com will show a never ending LOADING + * page. + */ + id: "bug1651292", + platform: "android", + domain: "www.jp.square-enix.com", + bug: "1651292", + config: { + matches: ["*://www.jp.square-enix.com/music/sem/page/FF7R/ost/*"], + uaTransformer: originalUA => { + return originalUA + " Chrome/83"; + }, + }, + }, + { + /* + * Bug 1666754 - Mobile UA override for lffl.org + * Bug 1665720 - lffl.org article page takes 2x as much time to load on Moto G + * + * This site returns desktop site based on server side UA detection. + * Spoofing as Chrome allows to get mobile experience + */ + id: "bug1666754", + platform: "android", + domain: "lffl.org", + bug: "1666754", + config: { + matches: ["*://*.lffl.org/*"], + uaTransformer: () => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1704673 - Add UA override for app.xiaomi.com + * Webcompat issue #66163 - https://webcompat.com/issues/66163 + * + * The page isn’t redirecting properly error message received. + * Spoofing as Chrome makes the page load + */ + id: "bug1704673", + platform: "android", + domain: "app.xiaomi.com", + bug: "1704673", + config: { + matches: ["*://app.xiaomi.com/*"], + uaTransformer: () => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1712807 - Add UA override for www.dealnews.com + * Webcompat issue #39341 - https://webcompat.com/issues/39341 + * + * The sites shows Firefox a different layout compared to Chrome. + * Spoofing as Chrome fixes this. + */ + id: "bug1712807", + platform: "android", + domain: "www.dealnews.com", + bug: "1712807", + config: { + matches: ["*://www.dealnews.com/*"], + uaTransformer: () => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1719841 - Add UA override for appmedia.jp + * Webcompat issue #78939 - https://webcompat.com/issues/78939 + * + * The sites shows Firefox a desktop version. With Chrome's UA string, + * we see a working mobile layout. + */ + id: "bug1719841", + platform: "android", + domain: "appmedia.jp", + bug: "1719841", + config: { + matches: ["*://appmedia.jp/*"], + uaTransformer: () => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1719846 - Add UA override for https://covid.cdc.gov/covid-data-tracker/ + * Webcompat issue #76944 - https://webcompat.com/issues/76944 + * + * The application locks out Firefox via User Agent sniffing, but in our + * tests, there appears to be no reason for this. Everything looks fine if + * we spoof as Chrome. + */ + id: "bug1719846", + platform: "all", + domain: "covid.cdc.gov", + bug: "1719846", + config: { + matches: ["*://covid.cdc.gov/covid-data-tracker/*"], + uaTransformer: () => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1719859 - Add UA override for saxoinvestor.fr + * Webcompat issue #74678 - https://webcompat.com/issues/74678 + * + * The site blocks Firefox with a server-side UA sniffer. Appending a + * Chrome version segment to the UA makes it work. + */ + id: "bug1719859", + platform: "all", + domain: "saxoinvestor.fr", + bug: "1719859", + config: { + matches: ["*://*.saxoinvestor.fr/*"], + uaTransformer: originalUA => { + return originalUA + " Chrome/91.0.4472.114"; + }, + }, + }, + { + /* + * Bug 1722954 - Add UA override for game.granbluefantasy.jp + * Webcompat issue #34310 - https://github.com/webcompat/web-bugs/issues/34310 + * + * The website is sending a version of the site which is too small. Adding a partial + * safari iOS version of the UA sends us the right layout. + */ + id: "bug1722954", + platform: "android", + domain: "granbluefantasy.jp", + bug: "1722954", + config: { + matches: ["*://*.granbluefantasy.jp/*"], + uaTransformer: originalUA => { + return originalUA + " iPhone OS 12_0 like Mac OS X"; + }, + }, + }, + { + /* + * Bug 1738317 - Add UA override for vmos.cn + * Webcompat issue #90432 - https://github.com/webcompat/web-bugs/issues/90432 + * + * Firefox for Android receives a desktop-only layout based on server-side + * UA sniffing. Spoofing as Chrome works fine. + */ + id: "bug1738317", + platform: "android", + domain: "vmos.cn", + bug: "1738317", + config: { + matches: ["*://*.vmos.cn/*"], + uaTransformer: () => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1738319 - Add UA override for yebocasino.co.za + * Webcompat issue #88409 - https://github.com/webcompat/web-bugs/issues/88409 + * + * Firefox for Android is locked out with a "Browser Unsupported" message. + * Spoofing as Chrome gets rid of that. + */ + id: "bug1738319", + platform: "android", + domain: "yebocasino.co.za", + bug: "1738319", + config: { + matches: ["*://*.yebocasino.co.za/*"], + uaTransformer: () => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1743627 - Add UA override for renaud-bray.com + * Webcompat issue #55276 - https://github.com/webcompat/web-bugs/issues/55276 + * + * Firefox for Android depends on "Version/" being there in the UA string, + * or it'll throw a runtime error. + */ + id: "bug1743627", + platform: "android", + domain: "renaud-bray.com", + bug: "1743627", + config: { + matches: ["*://*.renaud-bray.com/*"], + uaTransformer: originalUA => { + return originalUA + " Version/0"; + }, + }, + }, + { + /* + * Bug 1743745 - Add UA override for www.automesseweb.jp + * Webcompat issue #70386 - https://github.com/webcompat/web-bugs/issues/70386 + * + * On Firefox Android, the browser is receiving the desktop layout. + * + */ + id: "bug1743745", + platform: "android", + domain: "automesseweb.jp", + bug: "1743745", + config: { + matches: ["*://*.automesseweb.jp/*"], + uaTransformer: () => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1743751 - Add UA override for slrclub.com + * Webcompat issue #91373 - https://github.com/webcompat/web-bugs/issues/91373 + * + * On Firefox Android, the browser is receiving the desktop layout. + * Spoofing as Chrome works fine. + */ + id: "bug1743751", + platform: "android", + domain: "slrclub.com", + bug: "1743751", + config: { + matches: ["*://*.slrclub.com/*"], + uaTransformer: () => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1743754 - Add UA override for slrclub.com + * Webcompat issue #86839 - https://github.com/webcompat/web-bugs/issues/86839 + * + * On Firefox Android, the browser is failing a UA parsing on Firefox UA. + */ + id: "bug1743754", + platform: "android", + domain: "workflow.base.vn", + bug: "1743754", + config: { + matches: ["*://workflow.base.vn/*"], + uaTransformer: () => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1743429 - Add UA override for sites broken with the Version 100 User Agent + * + * Some sites have issues with a UA string with Firefox version 100 or higher, + * so present as version 99 for now. + */ + id: "bug1743429", + platform: "all", + domain: "Sites with known Version 100 User Agent breakage", + bug: "1743429", + config: { + matches: [ + "*://*.commerzbank.de/*", // Bug 1767630 + "*://ubank.com.au/*", // #104099 + "*://wifi.sncf/*", // #100194 + "*://www.metrobyt-mobile.com/*", // #105106 + "*://*.mms.telekom.de/*", // #1800241 + ], + uaTransformer: originalUA => { + return UAHelpers.capVersionTo99(originalUA); + }, + }, + }, + { + /* + * Bug 1754180 - UA override for nordjyske.dk + * Webcompat issue #94661 - https://webcompat.com/issues/94661 + * + * The site doesn't provide a mobile layout to Firefox for Android + * without a Chrome UA string for a high-end device. + */ + id: "bug1754180", + platform: "android", + domain: "nordjyske.dk", + bug: "1754180", + config: { + matches: ["*://nordjyske.dk/*"], + uaTransformer: originalUA => { + return UAHelpers.getDeviceAppropriateChromeUA({ + androidDevice: "Pixel 4", + }); + }, + }, + }, + { + /* + * Bug 1753461 - UA override for serieson.naver.com + * Webcompat issue #99993 - https://webcompat.com/issues/97298 + * + * The site locks out Firefox users unless a Chrome UA is given, + * and locks out Linux users as well (so we use Windows+Chrome). + */ + id: "bug1753461", + platform: "desktop", + domain: "serieson.naver.com", + bug: "1753461", + config: { + matches: ["*://serieson.naver.com/*"], + uaTransformer: originalUA => { + return "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36"; + }, + }, + }, + { + /* + * Bug 1756872 - UA override for www.dolcegabbana.com + * Webcompat issue #99993 - https://webcompat.com/issues/99993 + * + * The site's layout is broken on Firefox for Android + * without a full Chrome user-agent string. + */ + id: "bug1756872", + platform: "android", + domain: "www.dolcegabbana.com", + bug: "1756872", + config: { + matches: ["*://www.dolcegabbana.com/*"], + uaTransformer: originalUA => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1771200 - UA override for animalplanet.com + * Webcompat issue #99993 - https://webcompat.com/issues/103727 + * + * The videos are not playing and an error message is displayed + * in Firefox for Android, but work with Chrome UA + */ + id: "bug1771200", + platform: "android", + domain: "animalplanet.com", + bug: "1771200", + config: { + matches: ["*://*.animalplanet.com/video/*"], + uaTransformer: originalUA => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1771200 - UA override for lazada.co.id + * Webcompat issue #106229 - https://webcompat.com/issues/106229 + * + * The map is not playing and an error message is displayed + * in Firefox for Android, but work with Chrome UA + */ + id: "bug1779059", + platform: "android", + domain: "lazada.co.id", + bug: "1779059", + config: { + matches: ["*://member-m.lazada.co.id/address/*"], + uaTransformer: originalUA => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1778168 - UA override for watch.antennaplus.gr + * Webcompat issue #106529 - https://webcompat.com/issues/106529 + * + * The site's content is not loaded unless a Chrome UA is used, + * and breaks on Linux (so we claim Windows instead in that case). + */ + id: "bug1778168", + platform: "desktop", + domain: "watch.antennaplus.gr", + bug: "1778168", + config: { + matches: ["*://watch.antennaplus.gr/*"], + uaTransformer: originalUA => { + return UAHelpers.getDeviceAppropriateChromeUA({ + desktopOS: "nonLinux", + }); + }, + }, + }, + { + /* + * Bug 1776897 - UA override for www.edencast.fr + * Webcompat issue #106545 - https://webcompat.com/issues/106545 + * + * The site's podcast audio player does not load unless a Chrome UA is used. + */ + id: "bug1776897", + platform: "all", + domain: "www.edencast.fr", + bug: "1776897", + config: { + matches: ["*://www.edencast.fr/zoomcast*"], + uaTransformer: originalUA => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1784361 - UA override for coldwellbankerhomes.com + * Webcompat issue #108535 - https://webcompat.com/issues/108535 + * + * An error is thrown due to missing element, unless Chrome UA is used + */ + id: "bug1784361", + platform: "android", + domain: "coldwellbankerhomes.com", + bug: "1784361", + config: { + matches: ["*://*.coldwellbankerhomes.com/*"], + uaTransformer: originalUA => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, + { + /* + * Bug 1786404 - UA override for business.help.royalmail.com + * Webcompat issue #109070 - https://webcompat.com/issues/109070 + * + * Replacing `Firefox` with `FireFox` to evade one of their UA tests... + */ + id: "bug1786404", + platform: "all", + domain: "business.help.royalmail.com", + bug: "1786404", + config: { + matches: ["*://business.help.royalmail.com/app/webforms/*"], + uaTransformer: originalUA => { + return originalUA.replace("Firefox", "FireFox"); + }, + }, + }, + { + /* + * Bug 1790698 - UA override for wolf777.com + * Webcompat issue #103981 - https://webcompat.com/issues/103981 + * + * Add 'Linux; ' next to the Android version or the site breaks + */ + id: "bug1790698", + platform: "android", + domain: "wolf777.com", + bug: "1790698", + config: { + matches: ["*://wolf777.com/*"], + uaTransformer: originalUA => { + return originalUA.replace("Android", "Linux; Android"); + }, + }, + }, + { + /* + * Bug 1800936 - UA override for cov19ent.kdca.go.kr + * Webcompat issue #110655 - https://webcompat.com/issues/110655 + * + * Add 'Chrome;' to the UA for the site to load styles + */ + id: "bug1800936", + platform: "all", + domain: "cov19ent.kdca.go.kr", + bug: "1800936", + config: { + matches: ["*://cov19ent.kdca.go.kr/*"], + uaTransformer: originalUA => { + return originalUA + " Chrome"; + }, + }, + }, + { + /* + * Bug 1803131 - UA override for argaam.com + * Webcompat issue #113638 - https://webcompat.com/issues/113638 + * + * To receive the proper mobile version instead of the desktop version + * the UA is spoofed. + */ + id: "bug1803131", + platform: "android", + domain: "argaam.com", + bug: "1803131", + config: { + matches: ["*://*.argaam.com/*"], + uaTransformer: originalUA => { + return UAHelpers.getDeviceAppropriateChromeUA(); + }, + }, + }, +]; + +module.exports = AVAILABLE_UA_OVERRIDES; |