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/reddit/reddit.html | 188 +++++++++++++++++++++++++++++++++++ src/pages/options/reddit/reddit.js | 105 +++++++++++++++---- 2 files changed, 273 insertions(+), 20 deletions(-) create mode 100644 src/pages/options/reddit/reddit.html (limited to 'src/pages/options/reddit') diff --git a/src/pages/options/reddit/reddit.html b/src/pages/options/reddit/reddit.html new file mode 100644 index 00000000..2ded8094 --- /dev/null +++ b/src/pages/options/reddit/reddit.html @@ -0,0 +1,188 @@ + + + + + + + + General + + + + + +
+
+

Enable

+ +
+
+

Frontend

+ +
+
+

Protocol

+ +
+
+

Bypass "Open in Reddit"

+ +
+
+
+
+
+
+

Default Instances

+
+
+
+
+

Custom Instances

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

Default Instances

+
+
+
+
+

Custom Instances

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

Default Instances

+
+
+
+
+

Custom Instances

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

Default Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + + + + +
+
+
+
+
+
+ + + \ No newline at end of file diff --git a/src/pages/options/reddit/reddit.js b/src/pages/options/reddit/reddit.js index 1c577a94..36bb8a5f 100644 --- a/src/pages/options/reddit/reddit.js +++ b/src/pages/options/reddit/reddit.js @@ -81,16 +81,19 @@ redditHelper.init().then(() => { protocolElement.value = protocol; changeProtocolSettings(protocol); - commonHelper.processDefaultCustomInstances( - 'libreddit', - 'normal', - redditHelper, - document, - redditHelper.getLibredditNormalRedirectsChecks, - redditHelper.setLibredditNormalRedirectsChecks, - redditHelper.getLibredditNormalCustomRedirects, - redditHelper.setLibredditNormalCustomRedirects - ) + browser.storage.local.get("libredditLatency").then(r => { + commonHelper.processDefaultCustomInstances( + 'libreddit', + 'normal', + redditHelper, + document, + redditHelper.getLibredditNormalRedirectsChecks, + redditHelper.setLibredditNormalRedirectsChecks, + redditHelper.getLibredditNormalCustomRedirects, + redditHelper.setLibredditNormalCustomRedirects, + r.libredditLatency, + ) + }) commonHelper.processDefaultCustomInstances( 'libreddit', @@ -103,16 +106,19 @@ redditHelper.init().then(() => { redditHelper.setLibredditTorCustomRedirects ) - commonHelper.processDefaultCustomInstances( - 'teddit', - 'normal', - redditHelper, - document, - redditHelper.getTedditNormalRedirectsChecks, - redditHelper.setTedditNormalRedirectsChecks, - redditHelper.getTedditNormalCustomRedirects, - redditHelper.setTedditNormalCustomRedirects - ); + browser.storage.local.get("tedditLatency").then(r => { + commonHelper.processDefaultCustomInstances( + 'teddit', + 'normal', + redditHelper, + document, + redditHelper.getTedditNormalRedirectsChecks, + redditHelper.setTedditNormalRedirectsChecks, + redditHelper.getTedditNormalCustomRedirects, + redditHelper.setTedditNormalCustomRedirects, + r.tedditLatency, + ); + }) commonHelper.processDefaultCustomInstances( 'teddit', @@ -126,3 +132,62 @@ redditHelper.init().then(() => { ); }) + + +let latencyLibredditElement = document.getElementById("latency-libreddit"); +let latencyLibredditLabel = document.getElementById("latency-libreddit-label"); +latencyLibredditElement.addEventListener("click", + async () => { + let reloadWindow = () => location.reload(); + latencyLibredditElement.addEventListener("click", reloadWindow); + await redditHelper.init(); + let redirects = redditHelper.getRedirects(); + const oldHtml = latencyLibredditLabel.innerHTML; + latencyLibredditLabel.innerHTML = '...'; + commonHelper.testLatency(latencyLibredditLabel, redirects.libreddit.normal).then(r => { + browser.storage.local.set({ libredditLatency: r }); + latencyLibredditLabel.innerHTML = oldHtml; + commonHelper.processDefaultCustomInstances( + 'libreddit', + 'normal', + redditHelper, + document, + redditHelper.getLibredditNormalRedirectsChecks, + redditHelper.setLibredditNormalRedirectsChecks, + redditHelper.getLibredditNormalCustomRedirects, + redditHelper.setLibredditNormalCustomRedirects, + r, + ); + latencyLibredditElement.removeEventListener("click", reloadWindow); + }); + } +); + +let latencyTedditElement = document.getElementById("latency-teddit"); +let latencyTedditLabel = document.getElementById("latency-teddit-label"); +latencyTedditElement.addEventListener("click", + async () => { + let reloadWindow = () => location.reload(); + latencyTedditElement.addEventListener("click", reloadWindow); + await redditHelper.init(); + let redirects = redditHelper.getRedirects(); + const oldHtml = latencyTedditLabel.innerHTML; + latencyTedditLabel.innerHTML = '...'; + commonHelper.testLatency(latencyTedditLabel, redirects.teddit.normal).then(r => { + browser.storage.local.set({ tedditLatency: r }); + latencyTedditLabel.innerHTML = oldHtml; + commonHelper.processDefaultCustomInstances( + 'teddit', + 'normal', + redditHelper, + document, + redditHelper.getTedditNormalRedirectsChecks, + redditHelper.setTedditNormalRedirectsChecks, + redditHelper.getTedditNormalCustomRedirects, + redditHelper.setTedditNormalCustomRedirects, + r, + ); + latencyTedditElement.removeEventListener("click", reloadWindow); + }); + } +); \ No newline at end of file -- cgit 1.4.1