[flashproxy/js] Add a FlashProxy.disable method.

commit f6a8d1b64ec373dc3a287bb1d7bfe54022ce94d3 Author: David Fifield <david@bamsoftware.com> Date: Wed Apr 4 22:40:56 2012 -0700 Add a FlashProxy.disable method. Turn the badge gray to show that it's disabled. Use this instead of having a separate DummyFlashProxy class. --- flashproxy.js | 37 +++++++++++++++---------------------- 1 files changed, 15 insertions(+), 22 deletions(-) diff --git a/flashproxy.js b/flashproxy.js index 8c29d82..02a564f 100644 --- a/flashproxy.js +++ b/flashproxy.js @@ -421,29 +421,23 @@ function FlashProxy() this.badge.proxy_begin(); }; + /* Cease all network operations and prevent any future ones. */ + this.disable = function() { + puts("disabling"); + this.proxy_main = function() { }; + this.make_proxy_pair = function(client_addr, relay_addr) { }; + while (this.proxy_pairs.length > 0) + this.proxy_pairs.pop().close(); + this.badge.set_color("#777"); + this.badge.refresh(); + }; + this.die = function() { puts("die"); this.badge.set_color("#111"); }; } -/* This is the non-functional badge that occupies space when - flashproxy_should_disable decides that the proxy shouldn't run. */ -function DummyFlashProxy() -{ - var img; - - img = document.createElement("img"); - img.setAttribute("src", "https://crypto.stanford.edu/flashproxy/badge.png"); - img.setAttribute("border", 0); - img.setAttribute("id", "flashproxy-badge"); - - this.badge_elem = img; - - this.start = function() { - }; -} - /* An instance of a client-relay connection. */ function ProxyPair(client_addr, relay_addr, rate_limit) { @@ -771,13 +765,12 @@ function flashproxy_should_disable() function flashproxy_badge_insert() { + var fp; var e; - if (flashproxy_should_disable()) { - fp = new DummyFlashProxy(); - } else { - fp = new FlashProxy(); - } + fp = new FlashProxy(); + if (flashproxy_should_disable()) + fp.disable(); /* http://intertwingly.net/blog/2006/11/10/Thats-Not-Write for this trick to insert right after the <script> element in the DOM. */
participants (1)
-
dcf@torproject.org