[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [snowflake/master] Enable snowflake extension by default



commit f6f37c7e6884834d39941ea7c5803e69d4e56e00
Author: Cecylia Bocovich <cohosh@xxxxxxxxxxxxxx>
Date:   Wed Jul 3 10:00:46 2019 -0400

    Enable snowflake extension by default
---
 proxy/init-webext.coffee   |  1 +
 proxy/ui.coffee            | 26 +++++++++++++++-----------
 proxy/webext/manifest.json |  2 +-
 proxy/webext/popup.html    |  4 ++--
 proxy/webext/popup.js      |  5 +----
 5 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/proxy/init-webext.coffee b/proxy/init-webext.coffee
index 20b8bc3..7ff59ba 100644
--- a/proxy/init-webext.coffee
+++ b/proxy/init-webext.coffee
@@ -24,6 +24,7 @@ init = () ->
   snowflake = new Snowflake config, ui, broker
 
   log '== snowflake proxy =='
+  update()
 
 update = () ->
   if !ui.enabled
diff --git a/proxy/ui.coffee b/proxy/ui.coffee
index 7a41f32..e6896ec 100644
--- a/proxy/ui.coffee
+++ b/proxy/ui.coffee
@@ -4,7 +4,7 @@ All of Snowflake's DOM manipulation and inputs.
 
 class UI
   active: false
-  enabled: false
+  enabled: true
 
   setStatus: (msg) ->
 
@@ -73,14 +73,14 @@ class WebExtUI extends UI
   initToggle: ->
     try
       getting = chrome.storage.local.get("snowflake-enabled", (result) =>
-        @enabled = result['snowflake-enabled']
-        update()
-        chrome.browserAction.setIcon
-          path:
-            32: "icons/status-" + (if @enabled then "on" else "off") + ".png"
+        if result['snowflake-enabled'] != undefined
+          @enabled = result['snowflake-enabled']
+          @setEnabled @enabled
+        else
+          log "Toggle state not yet saved"
       )
     catch
-      log "Toggle state not yet saved"
+      log "Error retrieving toggle state"
 
   postActive: ->
     @port?.postMessage
@@ -98,10 +98,7 @@ class WebExtUI extends UI
 
   onMessage: (m) =>
     @enabled = m.enabled
-    update()
-    chrome.browserAction.setIcon
-      path:
-        32: "icons/status-" + (if @enabled then "on" else "off") + ".png"
+    @setEnabled @enabled
     @postActive()
     storing = chrome.storage.local.set({ "snowflake-enabled": @enabled },
       () -> log "Stored toggle state")
@@ -117,3 +114,10 @@ class WebExtUI extends UI
       chrome.browserAction.setIcon
         path:
           32: "icons/status-running.png"
+
+  setEnabled: (enabled) ->
+    update()
+    chrome.browserAction.setIcon
+      path:
+        32: "icons/status-" + (if enabled then "on" else "off") + ".png"
+
diff --git a/proxy/webext/manifest.json b/proxy/webext/manifest.json
index 0da349f..fa2bc5f 100644
--- a/proxy/webext/manifest.json
+++ b/proxy/webext/manifest.json
@@ -9,7 +9,7 @@
 	},
 	"browser_action": {
 		"default_icon": {
-			"32": "icons/status-off.png"
+			"32": "icons/status-on.png"
 		},
 		"default_title": "Snowflake",
 		"default_popup": "popup.html"
diff --git a/proxy/webext/popup.html b/proxy/webext/popup.html
index 1074333..9837595 100644
--- a/proxy/webext/popup.html
+++ b/proxy/webext/popup.html
@@ -7,14 +7,14 @@
   </head>
   <body>
     <div id="active">
-      <img src="icons/status-off.png" />
+      <img src="icons/status-on.png" />
         <p></p>
         <p></p>
     </div>
     <div class="b toggle">
       <label id=toggle>Turn On</label>
       <label class="switch">
-        <input id="enabled" type="checkbox"/>
+        <input id="enabled" type="checkbox" checked/>
         <span class="slider round"></span>
       </label>
     </div>
diff --git a/proxy/webext/popup.js b/proxy/webext/popup.js
index 977f6a2..55891d4 100644
--- a/proxy/webext/popup.js
+++ b/proxy/webext/popup.js
@@ -7,7 +7,6 @@ port.onMessage.addListener((m) => {
   const div = document.getElementById('active');
   const img = div.querySelector('img');
   const enabled = m.enabled
-  img.src = `icons/status-${enabled ? "on" : "off"}.png`;
   const ps = div.querySelectorAll('p');
   const clients = active ? 1 : 0;
   const enabledText = document.getElementById('toggle');
@@ -16,15 +15,13 @@ port.onMessage.addListener((m) => {
     enabledText.innerText = 'Turn Off';
     ps[0].innerText = `${clients} client${(clients !== 1) ? 's' : ''} connected.`;
     ps[1].innerText = `Your snowflake has helped ${m.total} user${(m.total !== 1) ? 's' : ''} circumvent censorship in the last 24 hours.`;
-      if (active) {
-        img.src = `icons/status-running.png`;
-      }
   } else {
     ps[0].innerText = "Snowflake is off";
     ps[1].innerText = "";
     document.getElementById('enabled').checked = false;
     enabledText.innerText = 'Turn On';
   }
+  img.src = `icons/status-${active? "running" : enabled? "on" : "off"}.png`;
 });
 
 document.addEventListener('change', (event) => {



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits