about summary refs log tree commit diff stats
path: root/src/assets/javascripts/utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/assets/javascripts/utils.js')
-rw-r--r--src/assets/javascripts/utils.js24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js
index e3dc2c96..4dbeb6db 100644
--- a/src/assets/javascripts/utils.js
+++ b/src/assets/javascripts/utils.js
@@ -280,16 +280,22 @@ async function testLatency(element, instances) {
   })
 }
 
-function copyCookie(frontend, targetUrl, url, name) {
-  browser.cookies.get(
-    { url: protocolHost(targetUrl), name: name },
-    r => {
-      if (r) {
-        browser.cookies.set({ url: url, name: name, value: r.value })
-        browser.storage.local.set({ [`${frontend}_${name}`]: r.value })
+function copyCookie(frontend, targetUrl, urls, name) {
+  return new Promise(resolve => {
+    browser.cookies.get(
+      { url: protocolHost(targetUrl), name: name },
+      async r => {
+        function setCookies(url, name, value) {
+          return new Promise(resolve => browser.cookies.set({ url: url, name: name, value: value }, () => resolve()))
+        }
+        if (r) {
+          console.log(name, r.value);
+          for (const url of urls) await setCookies(url, name, r.value)
+          browser.storage.local.set({ [`${frontend}_${name}`]: r.value }, () => resolve())
+        } else resolve();
       }
-    }
-  )
+    )
+  })
 }
 
 function getCookiesFromStorage(frontend, to, name) {