]> git.r.bdr.sh - rbdr/junction/blobdiff - extension/junction.js
Refactor server code
[rbdr/junction] / extension / junction.js
index 16bc9f379c318f619e930fd57fb5454c5290df52..889e23f975dfdd3dccb9ce7dd081367fe33023e8 100644 (file)
@@ -2,6 +2,7 @@ const internals = {
 
   promisesSupported: !!(window.browser),
   port: null,
+  currentUrl: null,
 
   icons: {
     call: {
@@ -31,6 +32,7 @@ const internals = {
     port.postMessage({
       action: 'joinAudioCall',
       data: {
+        currentUrl: internals.currentUrl,
         tada: internals.getRoot().runtime.getURL('sounds/tada.wav')
       }
     });
@@ -48,6 +50,7 @@ const internals = {
   onDisconnect() {
     internals.getRoot().browserAction.setBadgeText({ text: '' }, () => {});
     internals.setIcon('call');
+    internals.currentUrl = null;
     internals.port = null;
     internals.getRoot().browserAction.enable();
   },
@@ -56,14 +59,22 @@ const internals = {
 
     internals.getRoot().browserAction.disable();
     const activeTabs = await internals.getActiveTabs();
+
+    internals.currentUrl = activeTabs[0].url;
     const execution = await internals.getRoot().tabs.executeScript(activeTabs[0].id, {
-      file: '/content_script.js'
+      file: '/build/content_script.js'
+    }, () => {
+
+      if (internals.getRoot().runtime.lastError) {
+        internals.onDisconnect();
+      }
     });
 
-    if (!execution[0]) {
+    if (execution && !execution[0]) {
       internals.onDisconnect();
     }
-  },
+  }
+  ,
 
   hangUp() {
 
@@ -103,7 +114,7 @@ const internals = {
       return internals.getRoot().tabs.query(query);
     }
 
-    return new Promise((resolve, reject) => {
+    return new Promise((resolve) => {
 
       internals.getRoot().tabs.query(query, (tabs) => {