commit f6f37c7e6884834d39941ea7c5803e69d4e56e00 Author: Cecylia Bocovich cohosh@torproject.org 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@lists.torproject.org