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/youtube/invidious.js | 38 +- src/pages/options/youtube/piped.js | 55 +- src/pages/options/youtube/pipedMaterial.js | 54 +- src/pages/options/youtube/youtube.html | 1302 ++++++++++++++++++++++++++++ 4 files changed, 1424 insertions(+), 25 deletions(-) create mode 100644 src/pages/options/youtube/youtube.html (limited to 'src/pages/options/youtube') diff --git a/src/pages/options/youtube/invidious.js b/src/pages/options/youtube/invidious.js index d390ef87..af94c531 100644 --- a/src/pages/options/youtube/invidious.js +++ b/src/pages/options/youtube/invidious.js @@ -118,6 +118,7 @@ function init() { feed_menu0.value = youtubeHelper.getInvidiousFeedMenuList()[0]; feed_menu1.value = youtubeHelper.getInvidiousFeedMenuList()[1]; + browser.storage.local.get("invidiousLatency").then(r => { commonHelper.processDefaultCustomInstances( 'invidious', 'normal', @@ -126,8 +127,10 @@ function init() { youtubeHelper.getInvidiousNormalRedirectsChecks, youtubeHelper.setInvidiousNormalRedirectsChecks, youtubeHelper.getInvidiousNormalCustomRedirects, - youtubeHelper.setInvidiousNormalCustomRedirects - ); + youtubeHelper.setInvidiousNormalCustomRedirects, + r.invidiousLatency + ); + }) commonHelper.processDefaultCustomInstances( 'invidious', @@ -142,4 +145,33 @@ function init() { }); } -init() \ No newline at end of file +init() + +let latencyInvidiousElement = document.getElementById("latency-invidious"); +let latencyInvidiousLabel = document.getElementById("latency-invidious-label"); +latencyInvidiousElement.addEventListener("click", + async () => { + let reloadWindow = () => location.reload(); + latencyInvidiousElement.addEventListener("click", reloadWindow); + await youtubeHelper.init(); + let redirects = youtubeHelper.getRedirects(); + const oldHtml = latencyInvidiousLabel.innerHTML; + latencyInvidiousLabel.innerHTML = '...'; + commonHelper.testLatency(latencyInvidiousLabel, redirects.invidious.normal).then(r => { + browser.storage.local.set({ invidiousLatency: r }); + latencyInvidiousLabel.innerHTML = oldHtml; + commonHelper.processDefaultCustomInstances( + 'invidious', + 'normal', + youtubeHelper, + document, + youtubeHelper.getInvidiousNormalRedirectsChecks, + youtubeHelper.setInvidiousNormalRedirectsChecks, + youtubeHelper.getInvidiousNormalCustomRedirects, + youtubeHelper.setInvidiousNormalCustomRedirects, + r, + ); + latencyInvidiousElement.removeEventListener("click", reloadWindow); + }); + } +); \ No newline at end of file diff --git a/src/pages/options/youtube/piped.js b/src/pages/options/youtube/piped.js index bb851ba0..a0bc45a7 100644 --- a/src/pages/options/youtube/piped.js +++ b/src/pages/options/youtube/piped.js @@ -110,16 +110,20 @@ function init() { volume.value = youtubeHelper.getVolume(); volumeValue.textContent = `${youtubeHelper.getVolume()}%`; - commonHelper.processDefaultCustomInstances( - 'piped', - 'normal', - youtubeHelper, - document, - youtubeHelper.getPipedNormalRedirectsChecks, - youtubeHelper.setPipedNormalRedirectsChecks, - youtubeHelper.getPipedNormalCustomRedirects, - youtubeHelper.setPipedNormalCustomRedirects - ); + browser.storage.local.get("pipedLatency").then(r => { + commonHelper.processDefaultCustomInstances( + 'piped', + 'normal', + youtubeHelper, + document, + youtubeHelper.getPipedNormalRedirectsChecks, + youtubeHelper.setPipedNormalRedirectsChecks, + youtubeHelper.getPipedNormalCustomRedirects, + youtubeHelper.setPipedNormalCustomRedirects, + r.pipedLatency, + ); + }); + commonHelper.processDefaultCustomInstances( 'piped', 'tor', @@ -132,4 +136,33 @@ function init() { ); }); } -init(); \ No newline at end of file +init(); + +let latencyPipedElement = document.getElementById("latency-piped"); +let latencyPipedLabel = document.getElementById("latency-piped-label"); +latencyPipedElement.addEventListener("click", + async () => { + let reloadWindow = () => location.reload(); + latencyPipedElement.addEventListener("click", reloadWindow); + await youtubeHelper.init(); + let redirects = youtubeHelper.getRedirects(); + const oldHtml = latencyPipedLabel.innerHTML; + latencyPipedLabel.innerHTML = '...'; + commonHelper.testLatency(latencyPipedLabel, redirects.piped.normal).then(r => { + browser.storage.local.set({ pipedLatency: r }); + latencyPipedLabel.innerHTML = oldHtml; + commonHelper.processDefaultCustomInstances( + 'piped', + 'normal', + youtubeHelper, + document, + youtubeHelper.getPipedNormalRedirectsChecks, + youtubeHelper.setPipedNormalRedirectsChecks, + youtubeHelper.getPipedNormalCustomRedirects, + youtubeHelper.setPipedNormalCustomRedirects, + r, + ); + latencyPipedElement.removeEventListener("click", reloadWindow); + }); + } +); diff --git a/src/pages/options/youtube/pipedMaterial.js b/src/pages/options/youtube/pipedMaterial.js index 60b2c424..bc31289a 100644 --- a/src/pages/options/youtube/pipedMaterial.js +++ b/src/pages/options/youtube/pipedMaterial.js @@ -86,17 +86,20 @@ function init() { volumeElement.value = youtubeHelper.getVolume(); volumeValueElement.textContent = `${youtubeHelper.getVolume()}%`; + browser.storage.local.get("pipedMaterialLatency").then(r => { + commonHelper.processDefaultCustomInstances( + 'pipedMaterial', + 'normal', + youtubeHelper, + document, + youtubeHelper.getPipedMaterialNormalRedirectsChecks, + youtubeHelper.setPipedMaterialNormalRedirectsChecks, + youtubeHelper.getPipedMaterialNormalCustomRedirects, + youtubeHelper.setPipedMaterialNormalCustomRedirects, + r.pipedMaterialLatency, + ); + }); - commonHelper.processDefaultCustomInstances( - 'pipedMaterial', - 'normal', - youtubeHelper, - document, - youtubeHelper.getPipedMaterialNormalRedirectsChecks, - youtubeHelper.setPipedMaterialNormalRedirectsChecks, - youtubeHelper.getPipedMaterialNormalCustomRedirects, - youtubeHelper.setPipedMaterialNormalCustomRedirects - ); commonHelper.processDefaultCustomInstances( 'pipedMaterial', 'tor', @@ -109,4 +112,33 @@ function init() { ); }); } -init(); \ No newline at end of file +init(); + +let latencyPipedMaterialElement = document.getElementById("latency-pipedMaterial"); +let latencyPipedMaterialLabel = document.getElementById("latency-pipedMaterial-label"); +latencyPipedMaterialElement.addEventListener("click", + async () => { + let reloadWindow = () => location.reload(); + latencyPipedMaterialElement.addEventListener("click", reloadWindow); + await youtubeHelper.init(); + let redirects = youtubeHelper.getRedirects(); + const oldHtml = latencyPipedMaterialLabel.innerHTML; + latencyPipedMaterialLabel.innerHTML = '...'; + commonHelper.testLatency(latencyPipedMaterialLabel, redirects.pipedMaterial.normal).then(r => { + browser.storage.local.set({ pipedMaterialLatency: r }); + latencyPipedMaterialLabel.innerHTML = oldHtml; + commonHelper.processDefaultCustomInstances( + 'pipedMaterial', + 'normal', + youtubeHelper, + document, + youtubeHelper.getPipedMaterialNormalRedirectsChecks, + youtubeHelper.setPipedMaterialNormalRedirectsChecks, + youtubeHelper.getPipedMaterialNormalCustomRedirects, + youtubeHelper.setPipedMaterialNormalCustomRedirects, + r, + ); + latencyPipedMaterialElement.removeEventListener("click", reloadWindow); + }); + } +); \ No newline at end of file diff --git a/src/pages/options/youtube/youtube.html b/src/pages/options/youtube/youtube.html new file mode 100644 index 00000000..67c86786 --- /dev/null +++ b/src/pages/options/youtube/youtube.html @@ -0,0 +1,1302 @@ + + + + + + + + Document + + + + + +
+
+

Enable

+ +
+
+

Frontend

+ +
+
+
+
+

Embedded Videos Frontend

+ +
+
+
+
+
+

Protocol

+ +
+
+

Redirect Type

+ +
+
+

Bypass "Watch On YouTube"

+ +
+
+

Enable Custom Settings (will use cookies and localStorage)

+ +
+
+
+
+
+
+

Always loop

+ +
+
+

Autoplay Video

+ +
+
+

Play next by default

+ +
+
+

Autoplay next video

+ +
+
+

Always proxy videos

+ +
+
+

Listen by default

+ +
+
+

Default speed

+ +
+
+

Preferred video quality

+ +
+
+

Preferred DASH video quality

+ +
+
+

+ Volume:--% +

+ +
+
+

Default comments

+   + +
+
+

Default captions

+   +   + +
+
+

Show related videos

+ +
+
+

Show annotations by default

+ +
+
+

Automatically extend video description

+ +
+
+

Interactive 360 degree videos (requires WebGL)

+ +
+
+

Save playback position

+ +
+
+

Select country

+ +
+
+

Player Style

+ +
+
+

Theme

+ +
+
+

Thin mode

+ +
+
+

Default homepage

+ +
+
+

Feed menu

+   + +
+
+
+
+
+

Default Instances

+
+
+
+
+

Custom Instances

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

Default Instances

+
+
+
+
+

Custom Instances

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

+ Volume:--% +

+ +
+
+

Enable Sponsorblock

+ +
+
+

Skip Sponsors

+ +
+
+

Skip Intermission/Intro Animation

+ +
+
+

Skip Endcards/Credits

+ +
+
+

Skip Preview/Recap

+ +
+
+

Skip Interaction Reminder (Subscribe)

+ +
+
+

Skip Unpaid/Self Promotion(Subscribe)

+ +
+
+

Skip Music: Non-Music Section(Subscribe)

+ +
+
+

Skip Highlight(Subscribe)

+ +
+
+

Skip Filler Tangent

+ +
+
+

Theme

+ +
+
+

Autoplay Video

+ +
+
+

Audio Only

+ +
+
+

Default Quality

+ +
+
+

Buffering Goal (in seconds)

+ +
+
+

Country Selection

+ +
+
+

Default Homepage

+ +
+
+

Show Comments

+ +
+
+

Minimize Description by default

+ +
+
+

Store Watch History

+ +
+
+

Enabled Codecs (Multiple)

+ +
+
+

Disable LBRY for Streaming

+ +
+
+

Enable Proxy for LBRY

+ +
+
+
+
+

Default Instances

+
+
+
+
+

Custom Instances

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

Default Instances

+
+
+
+
+

Custom Instances

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

Autoplay Video

+ +
+
+

+ Volume:--% +

+ +
+
+

Audio Only

+ +
+
+

Disable LBRY

+ +
+
+

Proxy LBRY videos

+ +
+
+

Enable Sponsorblock

+ +
+
+

Skip to the last watched point when encountering a video already seen

+ +
+
+

Skip Sponsors

+ +
+
+

Skip Intermission/Intro Animation

+ +
+
+

Skip Endcards/Credits

+ +
+
+

Skip Preview/Recap

+ +
+
+

Skip Interaction Reminder (Subscribe)

+ +
+
+

Skip Unpaid/Self Promotion

+ +
+
+

Skip Music: Non-Music Section

+ +
+
+
+
+
+

Default Instances

+
+
+
+
+

Custom Instances

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

Default Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + + + + +
+
+
+
+
+
+ + + + + + \ No newline at end of file -- cgit 1.4.1