diff --git a/js/background.js b/js/background.js index 6ae0b54..1214df5 100644 --- a/js/background.js +++ b/js/background.js @@ -2,15 +2,38 @@ 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) { - var url = request.url.replace("tile.openstreetmap.org", "tiles.demostat.de"); - console.log("custom-openstreetmap-tile-server: " + request.url + " -> " + url); + + updateTileserverUrl(); + + if (tileserver_url == "") { + log("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"]);