Bug 1805411 - Ship v114.0.0 of the WebCompat System Addon r=webcompat-reviewers,twisniewski

Differential Revision: https://phabricator.services.mozilla.com/D177054
This commit is contained in:
Ksenia Berezina 2023-05-03 17:07:23 +00:00
Родитель 92fb6d7ad4
Коммит 1e7e0a9503
19 изменённых файлов: 510 добавлений и 228 удалений

Просмотреть файл

@ -404,21 +404,6 @@ const AVAILABLE_INJECTIONS = [
],
},
},
{
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",
@ -430,6 +415,7 @@ const AVAILABLE_INJECTIONS = [
"*://www.facebook.com/*", // Bug 1739489
"*://twitter.com/*", // Bug 1776229
"*://mobile.twitter.com/*", // Bug 1776229
"*://*.reddit.com/*", // Bug 1829755
],
js: [
{
@ -504,13 +490,11 @@ const AVAILABLE_INJECTIONS = [
matches: [
"*://*.crunchyroll.com/*", // Bug 1777597
"*://*.ersthelfer.tv/*", // Bug 1817520
"*://*.pixiv.net/*", // Bug 1774006
"*://*.webex.com/*", // Bug 1788934
"*://business.help.royalmail.com/app/webforms/*", // Bug 1786404
"*://ifcinema.institutfrancais.com/*", // Bug 1806423
"*://islamionline.islamicbank.ps/*", // Bug 1821439
"*://*.itv.com/*", // Bug 1830203
"*://mobilevikings.be/*/registration/*", // Bug 1797400
"*://www.northcountrypublicradio.org/contact/subscribe.html*", // Bug 1778382,
"*://www.schoolnutritionandfitness.com/*", // Bug 1793761
],
js: [
@ -648,20 +632,6 @@ const AVAILABLE_INJECTIONS = [
],
},
},
{
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",
@ -708,7 +678,7 @@ const AVAILABLE_INJECTIONS = [
},
{
id: "bug1799994",
platform: "all",
platform: "desktop",
domain: "www.vivobarefoot.com",
bug: "1799994",
contentScripts: {
@ -723,7 +693,7 @@ const AVAILABLE_INJECTIONS = [
},
{
id: "bug1800000",
platform: "all",
platform: "desktop",
domain: "www.honda.co.uk",
bug: "1800000",
contentScripts: {
@ -736,21 +706,6 @@ const AVAILABLE_INJECTIONS = [
],
},
},
{
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",
@ -766,16 +721,6 @@ const AVAILABLE_INJECTIONS = [
],
},
},
{
id: "bug1811325",
platform: "desktop",
domain: "www.bdo.com.ph",
bug: "1811325",
customFunc: "acceptLanguageFix",
data: {
urls: ["*://www.bdo.com.ph/*", "*://www.inmac-wstore.com/*"],
},
},
{
id: "bug1448747",
platform: "android",
@ -799,6 +744,8 @@ const AVAILABLE_INJECTIONS = [
"*://*.iledefrance-mobilites.fr/*", // 117344
"*://*.lawnmowerpartsworld.com/*", // 117577
"*://*.discountcoffee.co.uk/*", // 118757
"*://torguard.net/*", // 120113
"*://*.arcsivr.com/*", // 120716
],
js: [
{
@ -911,6 +858,182 @@ const AVAILABLE_INJECTIONS = [
],
},
},
{
id: "bug1830776",
platform: "all",
domain: "blueshieldca.com",
bug: "1830776",
contentScripts: {
matches: ["*://*.blueshieldca.com/*"],
js: [
{
file: "injections/js/bug1830776-blueshieldca.com-unsupported.js",
},
],
},
},
{
id: "bug1829949",
platform: "desktop",
domain: "tomshardware.com",
bug: "1829949",
contentScripts: {
matches: ["*://*.tomshardware.com/*"],
css: [
{
file:
"injections/css/bug1829949-tomshardware.com-scrollbar-width.css",
},
],
},
},
{
id: "bug1829952",
platform: "android",
domain: "eventer.co.il",
bug: "1829952",
contentScripts: {
matches: ["*://*.eventer.co.il/*"],
css: [
{
file: "injections/css/bug1829952-eventer.co.il-button-height.css",
},
],
},
},
{
id: "bug1830747",
platform: "android",
domain: "my.babbel.com",
bug: "1830747",
contentScripts: {
matches: ["*://my.babbel.com/*"],
css: [
{
file: "injections/css/bug1830747-babbel.com-page-height.css",
},
],
},
},
{
id: "bug1830752",
platform: "all",
domain: "afisha.ru",
bug: "1830752",
contentScripts: {
matches: ["*://*.afisha.ru/*"],
css: [
{
file: "injections/css/bug1830752-afisha.ru-slider-pointer-events.css",
},
],
},
},
{
id: "bug1830761",
platform: "all",
domain: "91mobiles.com",
bug: "1830761",
contentScripts: {
matches: ["*://*.91mobiles.com/*"],
css: [
{
file: "injections/css/bug1830761-91mobiles.com-content-height.css",
},
],
},
},
{
id: "bug1830796",
platform: "android",
domain: "copyleaks.com",
bug: "1830796",
contentScripts: {
matches: ["*://*.copyleaks.com/*"],
css: [
{
file: "injections/css/bug1830796-copyleaks.com-hide-unsupported.css",
},
],
allFrames: true,
},
},
{
id: "bug1830810",
platform: "all",
domain: "interceramic.com",
bug: "1830810",
contentScripts: {
matches: ["*://interceramic.com/*"],
css: [
{
file:
"injections/css/bug1830810-interceramic.com-hide-unsupported.css",
},
],
},
},
{
id: "bug1830813",
platform: "desktop",
domain: "onstove.com",
bug: "1830813",
contentScripts: {
matches: ["*://*.onstove.com/*"],
css: [
{
file:
"injections/css/bug1830813-page.onstove.com-hide-unsupported.css",
},
],
},
},
{
id: "bug1831007",
platform: "all",
domain: "All international Nintendo domains",
bug: "1831007",
contentScripts: {
matches: [
"*://*.mojenintendo.cz/*",
"*://*.nintendo-europe.com/*",
"*://*.nintendo.at/*",
"*://*.nintendo.be/*",
"*://*.nintendo.ch/*",
"*://*.nintendo.co.il/*",
"*://*.nintendo.co.jp/*",
"*://*.nintendo.co.kr/*",
"*://*.nintendo.co.nz/*",
"*://*.nintendo.co.uk/*",
"*://*.nintendo.co.za/*",
"*://*.nintendo.com.au/*",
"*://*.nintendo.com.hk/*",
"*://*.nintendo.com/*",
"*://*.nintendo.de/*",
"*://*.nintendo.dk/*",
"*://*.nintendo.es/*",
"*://*.nintendo.fi/*",
"*://*.nintendo.fr/*",
"*://*.nintendo.gr/*",
"*://*.nintendo.hu/*",
"*://*.nintendo.it/*",
"*://*.nintendo.nl/*",
"*://*.nintendo.no/*",
"*://*.nintendo.pt/*",
"*://*.nintendo.ru/*",
"*://*.nintendo.se/*",
"*://*.nintendo.sk/*",
"*://*.nintendo.tw/*",
"*://*.nintendoswitch.com.cn/*",
],
js: [
{
file:
"injections/js/bug1831007-nintendo-window-OnetrustActiveGroups.js",
},
],
},
},
];
module.exports = AVAILABLE_INJECTIONS;

Просмотреть файл

@ -129,44 +129,6 @@ const AVAILABLE_UA_OVERRIDES = [
},
},
},
{
/*
* 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
@ -512,25 +474,6 @@ const AVAILABLE_UA_OVERRIDES = [
},
},
},
{
/*
* 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/
@ -608,25 +551,6 @@ const AVAILABLE_UA_OVERRIDES = [
},
},
},
{
/*
* 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
@ -696,11 +620,11 @@ const AVAILABLE_UA_OVERRIDES = [
bug: "1743429",
config: {
matches: [
"*://411.ca/", // #121332
"*://*.commerzbank.de/*", // Bug 1767630
"*://*.mms.telekom.de/*", // #1800241
"*://ubank.com.au/*", // #104099
"*://wifi.sncf/*", // #100194
"*://www.metrobyt-mobile.com/*", // #105106
"*://*.mms.telekom.de/*", // #1800241
],
uaTransformer: originalUA => {
return UAHelpers.capVersionTo99(originalUA);
@ -1108,22 +1032,6 @@ const AVAILABLE_UA_OVERRIDES = [
},
},
},
{
/*
* Bug 1827678 - UA override for captainjackcasino.com
* Webcompat issue #79490 - https://webcompat.com/issues/79490
*/
id: "bug1827678-webc79490",
platform: "android",
domain: "captainjackcasino.com",
bug: "1827678",
config: {
matches: ["*://*.captainjackcasino.com/*"],
uaTransformer: originalUA => {
return UAHelpers.getDeviceAppropriateChromeUA();
},
},
},
{
/*
* Bug 1827678 - UA override for viewer-ebook.books.com.tw
@ -1188,22 +1096,6 @@ const AVAILABLE_UA_OVERRIDES = [
},
},
},
{
/*
* Bug 1827678 - UA override for dns-shop.ru
* Webcompat issue #119307 - https://webcompat.com/issues/119307
*/
id: "bug1827678-webc119307",
platform: "all",
domain: "dns-shop.ru",
bug: "1827678",
config: {
matches: ["*://www.dns-shop.ru/*"],
uaTransformer: originalUA => {
return UAHelpers.getDeviceAppropriateChromeUA();
},
},
},
{
/*
* Bug 1827678 - UA override for oirsa.org
@ -1252,6 +1144,95 @@ const AVAILABLE_UA_OVERRIDES = [
},
},
},
{
/*
* Bug 1830739 - UA override for casino sites
*
* The sites are showing unsupported message with the same UI
*/
id: "bug1830739",
platform: "android",
domain: "casino sites",
bug: "1830739",
config: {
matches: [
"*://*.captainjackcasino.com/*", // 79490
"*://*.casinoextreme.eu/*", // 118175
"*://*.cryptoloko.com/*", // 117911
"*://*.heapsowins.com/*", // 120027
"*://*.planet7casino.com/*", // 120609
"*://*.yebocasino.co.za/*", // 88409
],
uaTransformer: originalUA => {
return UAHelpers.getDeviceAppropriateChromeUA();
},
},
},
{
/*
* Bug 1830821 - UA override for m.tworld.co.kr
* Webcompat issue #118998 - https://webcompat.com/issues/118998
*/
id: "bug1830821-webc118998",
platform: "android",
domain: "m.tworld.co.kr",
bug: "1830821",
config: {
matches: ["*://m.tworld.co.kr/*"],
uaTransformer: originalUA => {
return UAHelpers.getDeviceAppropriateChromeUA();
},
},
},
{
/*
* Bug 1830821 - UA override for webcartop.jp
* Webcompat issue #113663 - https://webcompat.com/issues/113663
*/
id: "bug1830821-webc113663",
platform: "android",
domain: "webcartop.jp",
bug: "1830821",
config: {
matches: ["*://*.webcartop.jp/*"],
uaTransformer: originalUA => {
return UAHelpers.getDeviceAppropriateChromeUA();
},
},
},
{
/*
* Bug 1830821 - UA override for enjoy.point.auone.jp
* Webcompat issue #90981 - https://webcompat.com/issues/90981
*/
id: "bug1830821-webc90981",
platform: "android",
domain: "enjoy.point.auone.jp",
bug: "1830821",
config: {
matches: ["*://enjoy.point.auone.jp/*"],
uaTransformer: originalUA => {
return UAHelpers.getDeviceAppropriateChromeUA();
},
},
},
{
/*
* Bug 1751604 - UA override for /www.otsuka.co.jp/fib/
*
* The site's content is not loaded on mobile unless a Chrome UA is used.
*/
id: "bug1829126",
platform: "android",
domain: "www.otsuka.co.jp",
bug: "1829126",
config: {
matches: ["*://www.otsuka.co.jp/fib/*"],
uaTransformer: originalUA => {
return UAHelpers.getDeviceAppropriateChromeUA();
},
},
},
];
module.exports = AVAILABLE_UA_OVERRIDES;

Просмотреть файл

@ -1,9 +0,0 @@
/**
* www.reddit.com - Slideshow images have zero width
* Bug #1748455 - https://bugzilla.mozilla.org/show_bug.cgi?id=1748455
* WebCompat issue #97271 - https://webcompat.com/issues/97271
*/
.gallery-img > faceplate-img {
height: auto;
}

Просмотреть файл

@ -1,10 +0,0 @@
/**
* www.zdnet.com - "ZDNET Recommends" section is cropped
* Bug #1789164 - https://bugzilla.mozilla.org/show_bug.cgi?id=1789164
* WebCompat issue #109342 - https://webcompat.com/issues/109342
*/
.c-featureThreeItems {
margin-left: -1rem;
width: 100vw;
}

Просмотреть файл

@ -1,11 +0,0 @@
/**
* www.nintendo.co.jp - Scrolling is interrupted on zoomed-in images
* Bug #1800143 - https://bugzilla.mozilla.org/show_bug.cgi?id=1800143
* WebCompat issue #108190 - https://webcompat.com/issues/108190
*
* The page is not adding a fallback for -webkit-user-drag: none,
* so we add pointer-events:none.
*/
.local-catalog__zoomImageContent img {
pointer-events: none;
}

Просмотреть файл

@ -0,0 +1,14 @@
/**
* tomshardware.com - a scrollbar covering navigation menu
* Bug #1829949 - https://bugzilla.mozilla.org/show_bug.cgi?id=1829949
* WebCompat issue #121170 - https://github.com/webcompat/web-bugs/issues/121170
*
* The scrollbar is covering navigation items and that makes them half hidden.
* There are some ::-webkit-scrollbar css rules applied to the scrollbar,
* making it thinner. Adding similar rules for Firefox fixes the issue.
*/
.trending__list {
scrollbar-width: thin;
scrollbar-color: #000 #f5f5f5;
}

Просмотреть файл

@ -0,0 +1,14 @@
/**
* eventer.co.il - a button is covering entire page
* Bug #1829952 - https://bugzilla.mozilla.org/show_bug.cgi?id=1829952
* WebCompat issue #121296 - https://github.com/webcompat/web-bugs/issues/121296
*
* The button is covering the page only in Firefox on mobile
* because of additional styles applied via @-moz-document url-prefix.
* Resetting the height makes the button normal size
*/
#purchasePageRedesignContainer .mobileStripButton {
height: auto;
min-height: auto;
}

Просмотреть файл

@ -0,0 +1,13 @@
/**
* my.babbel.com - "Next" button is not visible
* Bug #1830747 - https://bugzilla.mozilla.org/show_bug.cgi?id=1830747
* WebCompat issue #119212 - https://github.com/webcompat/web-bugs/issues/119212
*
* The next button on the bottom of the page is not visible in Firefox,
* but visible in Chrome since the site is using -webkit-fill-available rule.
* Adding height: 100% to the page wrapper allows to see the button.
*/
[data-main] {
height: 100%;
}

Просмотреть файл

@ -0,0 +1,19 @@
/**
* afisha.ru - Slider not working
* Bug #1830752 - https://bugzilla.mozilla.org/show_bug.cgi?id=1830752
* WebCompat issue #120455 - https://github.com/webcompat/web-bugs/issues/120455
*
* The range slider for price filtering is not working because of pointer-events:none applied
* on the slider element. It's working in Chrome because of webkit specific rules
* set with -moz-range-thumb that override the pointer events on the slider thumb to auto.
* Setting the same rule with -moz-range-thumb makes the slider to work.
*/
.gNPvK::-moz-range-thumb,
.y5iHc::-moz-range-thumb {
background-color: #0050ff;
border-color: #0050ff;
border-radius: 50%;
cursor: pointer;
pointer-events: auto;
}

Просмотреть файл

@ -0,0 +1,14 @@
/**
* 91mobiles.com - Text overlapping
* Bug #1830761 - https://bugzilla.mozilla.org/show_bug.cgi?id=1830761
* WebCompat issue #117029 - https://github.com/webcompat/web-bugs/issues/117029
*
* The content overlaps dedicated space since Firefox honors small heights on <td>
* due to https://bugzilla.mozilla.org/show_bug.cgi?id=1461852. Setting the height to
* fit-content makes it work as expected.
*/
#fixed-table tr td .cmp-summary-box,
.cmpr-table .textpanel {
height: fit-content;
}

Просмотреть файл

@ -0,0 +1,9 @@
/**
* copyleaks.com - Unsupported message
* Bug #1830796 - https://bugzilla.mozilla.org/show_bug.cgi?id=1830796
* WebCompat issue #121395 - https://github.com/webcompat/web-bugs/issues/121395
*/
#outdated {
display: none !important;
}

Просмотреть файл

@ -0,0 +1,9 @@
/**
* interceramic.com - Unsupported message
* Bug #1830810 - https://bugzilla.mozilla.org/show_bug.cgi?id=1830810
* WebCompat issue #117807 - https://github.com/webcompat/web-bugs/issues/117807
*/
#ff-modal {
display: none !important;
}

Просмотреть файл

@ -0,0 +1,14 @@
/**
* onstove.com - Unsupported message
* Bug #1830813 - https://bugzilla.mozilla.org/show_bug.cgi?id=1830813
* WebCompat issue #116760 - https://github.com/webcompat/web-bugs/issues/116760
*/
.gnb-alerts.gnb-old-browser {
height: 0;
}
.isCampaign .gnb-stove.gnb-default-fixed,
.isCampaign .layout.layout-base .layout-header {
height: 68px;
}

Просмотреть файл

@ -33,3 +33,80 @@ for (const [obj, name] of Remapped) {
}, window),
});
}
if (location.host === "www.reddit.com") {
(function() {
const EditorCSS = ".public-DraftEditor-content[contenteditable=true]";
let obsEditor, obsStart, obsText, obsKey, observer;
const obsConfig = { characterData: true, childList: true, subtree: true };
const obsHandler = () => {
observer.disconnect();
const finalTextNode = obsEditor.querySelector(
`[data-offset-key="${obsKey}"] [data-text='true']`
).firstChild;
const end = obsStart + obsText.length;
window
.getSelection()
.setBaseAndExtent(finalTextNode, end, finalTextNode, end);
};
observer = new MutationObserver(obsHandler);
document.documentElement.addEventListener(
"beforeinput",
e => {
if (e.inputType != "insertFromPaste") {
return;
}
const { target } = e;
obsEditor = target.closest(EditorCSS);
if (!obsEditor) {
return;
}
const items = e?.dataTransfer.items;
for (let item of items) {
if (item.type === "text/plain") {
e.preventDefault();
item.getAsString(text => {
obsText = text;
// find the editor-managed <span> which contains the text node the
// cursor starts on, and the cursor's location (or the selection start)
const sel = window.getSelection();
obsStart = sel.anchorOffset;
let anchor = sel.anchorNode;
if (!anchor.closest) {
anchor = anchor.parentElement;
}
anchor = anchor.closest("[data-offset-key]");
obsKey = anchor.getAttribute("data-offset-key");
// set us up to wait for the editor to either update or replace the
// <span> with that key (the one containing the text to be changed).
// we will then make sure the cursor is after the pasted text, as if
// the editor recreates the node, the cursor position is lost
observer.observe(obsEditor, obsConfig);
// force the editor to "paste". sending paste or other events will not
// work, nor using execCommand (adding HTML will screw up the DOM that
// the editor expects, and adding plain text will make it ignore newlines).
target.dispatchEvent(
new InputEvent("beforeinput", {
inputType: "insertText",
data: text,
bubbles: true,
cancelable: true,
})
);
// blur the editor to force it to update/flush its state, because otherwise
// the paste works, but the editor doesn't show it (until it is re-focused).
obsEditor.blur();
});
break;
}
}
},
true
);
})();
}

Просмотреть файл

@ -0,0 +1,20 @@
"use strict";
/**
* Bug 1830776 - blueshieldca.com
* WebCompat issue #112630 - https://webcompat.com/issues/112630
*
* The site is showing unsupported message in Firefox.
* They're also checking for "browserCollapsed" item in sessionStorage
* before showing the message, to only show it once. Adding this
* item to sessionStorage will make sure the message is not shown
* on the initial load.
*/
console.info(
"browserCollapsed in sessionStorage has been shimmed for compatibility reasons. See https://bugzilla.mozilla.org/show_bug.cgi?id=1830776 for details."
);
if (!sessionStorage.getItem("browserCollapsed")) {
sessionStorage.setItem("browserCollapsed", "true");
}

Просмотреть файл

@ -0,0 +1,23 @@
"use strict";
/**
* Bug 1831007 - Shim window.OnetrustActiveGroups for Nintendo sites
*
* Nintendo relies on `window.OnetrustActiveGroups` being defined. If it's not,
* users may have intermittent issues signing into their account, as they're
* then trying to call `.split()` on `undefined`.
*
* This intervention sets a default value (an empty string), but still allows
* the value to be overwritten at any time.
*/
/* globals exportFunction */
console.info(
"The window.OnetrustActiveGroups property has been shimmed for compatibility reasons. See https://bugzilla.mozilla.org/show_bug.cgi?id=1831007 for details."
);
Object.defineProperty(window.wrappedJSObject, "OnetrustActiveGroups", {
value: "",
writable: true,
});

Просмотреть файл

@ -36,31 +36,6 @@ const replaceStringInRequest = (
};
const CUSTOM_FUNCTIONS = {
acceptLanguageFix: injection => {
const { urls } = injection.data;
const re = /^([a-zA-Z]{2,3})-/; // match 2 or 3 letters at the start followed by a hyphen
const listener = (injection.data.listener = e => {
for (const header of e.requestHeaders) {
if (header.name.toLowerCase() === "accept-language") {
const match = header.value.match(re);
if (match) {
// add country code to start with comma -> 'en-US,en;q=0.5' to 'en,en-US,en;q=0.5'
header.value = `${match[1]},${header.value}`;
}
}
}
return { requestHeaders: e.requestHeaders };
});
browser.webRequest.onBeforeSendHeaders.addListener(listener, { urls }, [
"blocking",
"requestHeaders",
]);
},
acceptLanguageFixDisable: injection => {
const { listener } = injection.data;
browser.webRequest.onBeforeSendHeaders.removeListener(listener);
delete injection.data.listener;
},
detectSwipeFix: injection => {
const { urls, types } = injection.data;
const listener = (injection.data.listener = ({ requestId }) => {

Просмотреть файл

@ -2,7 +2,7 @@
"manifest_version": 2,
"name": "Web Compatibility Interventions",
"description": "Urgent post-release fixes for web compatibility.",
"version": "113.0.0",
"version": "114.0.0",
"browser_specific_settings": {
"gecko": {
"id": "webcompat@mozilla.org",

Просмотреть файл

@ -56,18 +56,23 @@ FINAL_TARGET_FILES.features["webcompat@mozilla.org"]["injections"]["css"] += [
"injections/css/bug1707795-office365-sheets-overscroll-disable.css",
"injections/css/bug1712833-buskocchi.desuca.co.jp-fix-map-height.css",
"injections/css/bug1741234-patient.alphalabs.ca-height-fix.css",
"injections/css/bug1748455-reddit.com-gallery-image-width-fix.css",
"injections/css/bug1765947-veniceincoming.com-left-fix.css",
"injections/css/bug1770962-coldwellbankerhomes.com-image-height.css",
"injections/css/bug1774490-rainews.it-gallery-fix.css",
"injections/css/bug1784141-aveeno.com-acuvue.com-unsupported.css",
"injections/css/bug1784199-entrata-platform-unsupported.css",
"injections/css/bug1789164-zdnet.com-cropped-section.css",
"injections/css/bug1799994-www.vivobarefoot.com-product-filters-fix.css",
"injections/css/bug1800000-www.honda.co.uk-choose-dealer-button-fix.css",
"injections/css/bug1800143-www.nintendo.co.jp-zoomed-in-image-scrolling-fix.css",
"injections/css/bug1819678-elal.com-unsupported-banner.css",
"injections/css/bug1819678-nppes.cms.hhs.gov-unsupported-banner.css",
"injections/css/bug1829949-tomshardware.com-scrollbar-width.css",
"injections/css/bug1829952-eventer.co.il-button-height.css",
"injections/css/bug1830747-babbel.com-page-height.css",
"injections/css/bug1830752-afisha.ru-slider-pointer-events.css",
"injections/css/bug1830761-91mobiles.com-content-height.css",
"injections/css/bug1830796-copyleaks.com-hide-unsupported.css",
"injections/css/bug1830810-interceramic.com-hide-unsupported.css",
"injections/css/bug1830813-page.onstove.com-hide-unsupported.css",
]
FINAL_TARGET_FILES.features["webcompat@mozilla.org"]["injections"]["js"] += [
@ -96,6 +101,8 @@ FINAL_TARGET_FILES.features["webcompat@mozilla.org"]["injections"]["js"] += [
"injections/js/bug1819476-axisbank.com-webkitSpeechRecognition-shim.js",
"injections/js/bug1819678-cnki.net-undisable-search-field.js",
"injections/js/bug1819678-free4talk.com-window-chrome-shim.js",
"injections/js/bug1830776-blueshieldca.com-unsupported.js",
"injections/js/bug1831007-nintendo-window-OnetrustActiveGroups.js",
]
FINAL_TARGET_FILES.features["webcompat@mozilla.org"]["shims"] += [