From f051f90f6103c296d8729ee3737ea94fa77dbd7a Mon Sep 17 00:00:00 2001 From: Particle Date: Sat, 14 Mar 2020 19:46:57 -0100 Subject: [PATCH] Closes #825 --- bin/update.json | 2 +- dist/Iridium.xpi | Bin 53455 -> 58223 bytes src/html/options.html | 5 ++-- src/js/background-inject.js | 4 +-- src/js/background.js | 53 ++++++++++++++++++++++++++++++++---- src/manifest.json | 2 +- 6 files changed, 55 insertions(+), 11 deletions(-) diff --git a/bin/update.json b/bin/update.json index 26898cd..0a2968c 100644 --- a/bin/update.json +++ b/bin/update.json @@ -3,7 +3,7 @@ "unlisted-iridium@particlecore.github.io" : { "updates" : [ { - "version" : "1.2.4", + "version" : "1.2.5", "update_link" : "https://github.com/ParticleCore/Iridium/raw/master/dist/Iridium.xpi", "applications" : { "gecko" : { diff --git a/dist/Iridium.xpi b/dist/Iridium.xpi index dd5b11d896d4970e65dce5dee6040fbbf95832bd..db548f2601a8b8fef50ff387ff9abf58cac49437 100644 GIT binary patch delta 24851 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 B2C<71VvstItOZDriinWcR^7 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 diff --git a/src/html/options.html b/src/html/options.html index 9107df7..b682806 100644 --- a/src/html/options.html +++ b/src/html/options.html @@ -60,14 +60,15 @@
Download
- +
Coming soon
+
diff --git a/src/js/background-inject.js b/src/js/background-inject.js index 9107b79..ed0a51d 100644 --- a/src/js/background-inject.js +++ b/src/js/background-inject.js @@ -318,7 +318,7 @@ window.main = function ( toggledStyle: {styleType: "STYLE_DEFAULT_ACTIVE"} } } - }, + }/*, SAVE_VIDEO: { injected: false, element: { @@ -342,7 +342,7 @@ window.main = function ( tooltip: "Streams" } } - } + }*/ }; topLevelButtons.forEach(function (value) { diff --git a/src/js/background.js b/src/js/background.js index 7677590..08cec50 100644 --- a/src/js/background.js +++ b/src/js/background.js @@ -47,23 +47,66 @@ util = { ) { let str; + let data; + let buffer; let filter; let decoder; let encoder; - - str = ""; + let writeOffset; + let patchVersion; + let combinedArray; + let combinedLength; + let commentBlock; + + data = []; + patchVersion = "iridium patch version " + chrome.runtime.getManifest().version; + commentBlock = (details.type === "script" ? `// ${patchVersion} ` : ``) + "\n"; decoder = new TextDecoder("utf-8"); encoder = new TextEncoder(); filter = util.filterResponse(details.requestId); filter.ondata = function (event) { - str += util.filterCacheData(decoder.decode(event.data, {stream: true})); + data.push(new Uint8Array(event.data)); }; filter.onstop = function (event) { - filter.write(encoder.encode(modifier(str))); - filter.disconnect(); + writeOffset = 0; + combinedLength = 0; + + for (buffer of data) { + combinedLength += buffer.length; + } + + combinedArray = new Uint8Array(combinedLength); + + while (writeOffset < combinedLength) { + + buffer = data.shift(); + combinedArray.set(buffer, writeOffset); + writeOffset += buffer.length; + + } + + // check if the resource has already been modified by the current extension version + // to avoid redundant operations + // note: still have to find a way to handle when a cached version was modified by a + // previous extension version + + str = decoder.decode(combinedArray, {stream: false}); + + if (str.startsWith(commentBlock)) { + filter.write(combinedArray); + } else { + filter.write(encoder.encode(commentBlock + modifier(util.filterCacheData(str)))); + } + + filter.close(); + + str = null; + combinedArray = null; + buffer = null; + data.length = 0; }; diff --git a/src/manifest.json b/src/manifest.json index 1b70e09..110630d 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "Iridium for YouTube", - "version": "1.2.4", + "version": "1.2.5", "description": "YouTube with more freedom", "default_locale": "en_US", "options_ui": {