40 lines
872 B
JavaScript
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"]);
|