d81302f64c
This reverts commit 97b6699afe
.
Vencord is dropping support for the firefox extension, so these changes
are now obsolete. revert so users can still install the extension
manually and enjoy the full experience
33 lines
1.2 KiB
JavaScript
33 lines
1.2 KiB
JavaScript
/**
|
|
* @template T
|
|
* @param {T[]} arr
|
|
* @param {(v: T) => boolean} predicate
|
|
*/
|
|
function removeFirst(arr, predicate) {
|
|
const idx = arr.findIndex(predicate);
|
|
if (idx !== -1) arr.splice(idx, 1);
|
|
}
|
|
|
|
chrome.webRequest.onHeadersReceived.addListener(
|
|
({ responseHeaders, type, url }) => {
|
|
if (!responseHeaders) return;
|
|
|
|
if (type === "main_frame") {
|
|
// In main frame requests, the CSP needs to be removed to enable fetching of custom css
|
|
// as desired by the user
|
|
removeFirst(responseHeaders, h => h.name.toLowerCase() === "content-security-policy");
|
|
} else if (type === "stylesheet" && url.startsWith("https://raw.githubusercontent.com/")) {
|
|
// Most users will load css from GitHub, but GitHub doesn't set the correct content type,
|
|
// so we fix it here
|
|
removeFirst(responseHeaders, h => h.name.toLowerCase() === "content-type");
|
|
responseHeaders.push({
|
|
name: "Content-Type",
|
|
value: "text/css"
|
|
});
|
|
}
|
|
return { responseHeaders };
|
|
},
|
|
{ urls: ["https://raw.githubusercontent.com/*", "*://*.discord.com/*"], types: ["main_frame", "stylesheet"] },
|
|
["blocking", "responseHeaders"]
|
|
);
|