From f17463a9ea15a479376597f94f5d920bb8f4cc79 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sun, 17 Apr 2022 15:27:21 +0300 Subject: Added latency test #134 --- src/pages/options/wikipedia/wikipedia.html | 146 +++++++++++++++++++++++++++++ src/pages/options/wikipedia/wikipedia.js | 78 ++++++++++----- 2 files changed, 201 insertions(+), 23 deletions(-) create mode 100644 src/pages/options/wikipedia/wikipedia.html (limited to 'src/pages/options/wikipedia') diff --git a/src/pages/options/wikipedia/wikipedia.html b/src/pages/options/wikipedia/wikipedia.html new file mode 100644 index 00000000..b7fcc40a --- /dev/null +++ b/src/pages/options/wikipedia/wikipedia.html @@ -0,0 +1,146 @@ + + + + + + + + Wikipedia + + + + + +
+
+

Enable

+ +
+
+

Protocol

+ +
+
+
+
+
+

Default Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + + + + +
+
+
+ + +
+
+
+

Default Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + + + + +
+
+
+
+
+
+

Default Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + + + + +
+
+
+
+
+
+ + + \ No newline at end of file diff --git a/src/pages/options/wikipedia/wikipedia.js b/src/pages/options/wikipedia/wikipedia.js index a2dafbfe..526068b4 100644 --- a/src/pages/options/wikipedia/wikipedia.js +++ b/src/pages/options/wikipedia/wikipedia.js @@ -22,17 +22,17 @@ function changeProtocolSettings(protocol) { if (protocol == 'normal') { normalDiv.style.display = 'block'; torDiv.style.display = 'none'; - i2pDiv.style.display = 'none'; + i2pDiv.style.display = 'none'; } else if (protocol == 'tor') { normalDiv.style.display = 'none'; torDiv.style.display = 'block'; - i2pDiv.style.display = 'none'; + i2pDiv.style.display = 'none'; } else if (protocol == 'i2p') { - normalDiv.style.display = 'none'; - torDiv.style.display = 'none'; - i2pDiv.style.display = 'block'; + normalDiv.style.display = 'none'; + torDiv.style.display = 'none'; + i2pDiv.style.display = 'block'; } } @@ -44,16 +44,19 @@ wikipediaHelper.init().then(() => { protocolElement.value = protocol; changeProtocolSettings(protocol); - commonHelper.processDefaultCustomInstances( - 'wikiless', - 'normal', - wikipediaHelper, - document, - wikipediaHelper.getWikilessNormalRedirectsChecks, - wikipediaHelper.setWikilessNormalRedirectsChecks, - wikipediaHelper.getWikilessNormalCustomRedirects, - wikipediaHelper.setWikilessNormalCustomRedirects - ) + browser.storage.local.get("wikilessLatency").then(r => { + commonHelper.processDefaultCustomInstances( + 'wikiless', + 'normal', + wikipediaHelper, + document, + wikipediaHelper.getWikilessNormalRedirectsChecks, + wikipediaHelper.setWikilessNormalRedirectsChecks, + wikipediaHelper.getWikilessNormalCustomRedirects, + wikipediaHelper.setWikilessNormalCustomRedirects, + r.wikilessLatency, + ); + }) commonHelper.processDefaultCustomInstances( 'wikiless', @@ -67,13 +70,42 @@ wikipediaHelper.init().then(() => { ) commonHelper.processDefaultCustomInstances( - 'wikiless', - 'i2p', - wikipediaHelper, - document, - wikipediaHelper.getWikilessI2pRedirectsChecks, - wikipediaHelper.setWikilessI2pRedirectsChecks, - wikipediaHelper.getWikilessI2pCustomRedirects, - wikipediaHelper.setWikilessI2pCustomRedirects + 'wikiless', + 'i2p', + wikipediaHelper, + document, + wikipediaHelper.getWikilessI2pRedirectsChecks, + wikipediaHelper.setWikilessI2pRedirectsChecks, + wikipediaHelper.getWikilessI2pCustomRedirects, + wikipediaHelper.setWikilessI2pCustomRedirects ) }) + +let latencyElement = document.getElementById("latency"); +let latencyLabel = document.getElementById("latency-label"); +latencyElement.addEventListener("click", + async () => { + let reloadWindow = () => location.reload(); + latencyElement.addEventListener("click", reloadWindow); + await wikipediaHelper.init(); + let redirects = wikipediaHelper.getRedirects(); + const oldHtml = latencyLabel.innerHTML; + latencyLabel.innerHTML = '...'; + commonHelper.testLatency(latencyLabel, redirects.wikiless.normal).then(r => { + browser.storage.local.set({ wikilessLatency: r }); + latencyLabel.innerHTML = oldHtml; + commonHelper.processDefaultCustomInstances( + 'wikiless', + 'normal', + wikipediaHelper, + document, + wikipediaHelper.getWikilessNormalRedirectsChecks, + wikipediaHelper.setWikilessNormalRedirectsChecks, + wikipediaHelper.getWikilessNormalCustomRedirects, + wikipediaHelper.setWikilessNormalCustomRedirects, + r, + ) + latencyElement.removeEventListener("click", reloadWindow) + }); + } +); \ No newline at end of file -- cgit 1.4.1