custom-openstreetmap-tile-s.../js/background.js

40 lines
872 B
JavaScript

const urls = [
"*://*.tile.openstreetmap.org/*"
]
var tileserver_url = "";
function log(msg) {
console.log("custom-openstreetmap-tile-server: " + msg)
}
function setTileserver(storage) {
tileserver_url = storage.tileserver;
log("set tileserver_url to " + tileserver_url);
}
function onError(error) {
log(`Error: ${error}`);
}
function updateTileserverUrl() {
var getting = browser.storage.local.get("tileserver");
getting.then(setTileserver, onError);
}
function replaceTileserver(request) {
updateTileserverUrl();
if (tileserver_url == "") {
log(request.url + " -> no tileserver_url");
return {}
}
var url = request.url.replace("tile.openstreetmap.org", tileserver_url);
log(request.url + " -> " + url);
return {redirectUrl: url};
}
chrome.webRequest.onBeforeRequest.addListener(replaceTileserver, {urls: urls}, ["blocking"]);