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

[tor-commits] [flashproxy/js] Add a FlashProxy.disable method.



commit f6a8d1b64ec373dc3a287bb1d7bfe54022ce94d3
Author: David Fifield <david@xxxxxxxxxxxxxxx>
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. */



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