[tor-commits] [torbutton/master] Bug 27663: Add New Identity menuitem again

gk at torproject.org gk at torproject.org
Thu Sep 13 07:36:57 UTC 2018


commit 2ba36eb269b86ca90835c3e39f6b4a7546dd76ba
Author: Georg Koppen <gk at torproject.org>
Date:   Wed Sep 12 14:56:36 2018 +0000

    Bug 27663: Add New Identity menuitem again
    
    Moving the New Identity button to the hamburger menu without having the
    redesign of our security controls in place and without having a proper
    guidance for where we moved it to is confusing. Let's revert that
    decision until we have all required pieces ready.
    
    We omit the key attribute from the menu item to avoid doing a New
    Identity twice if users press Ctrl+Shift+u.
---
 src/chrome/content/popup.xul    |  6 ++++++
 src/chrome/content/torbutton.js | 12 ++++++++++++
 2 files changed, 18 insertions(+)

diff --git a/src/chrome/content/popup.xul b/src/chrome/content/popup.xul
index b4191e30..582593f6 100644
--- a/src/chrome/content/popup.xul
+++ b/src/chrome/content/popup.xul
@@ -15,6 +15,12 @@
          anchor="torbutton-button" position="after_start" >
     <hbox align="start">
       <vbox>
+        <menuitem id="torbutton-new-identity"
+                  label="&torbutton.context_menu.new_identity;"
+                  accesskey="&torbutton.context_menu.new_identity_key;"
+                  insertafter="context-stop"
+                  oncommand="torbutton_new_identity()"/>
+        <menuseparator/>
         <menuitem id="torbutton-cookie-protector"
                   label="&torbutton.context_menu.cookieProtections;"
                   accesskey="&torbutton.context_menu.cookieProtections.key;"
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index c3f68510..9f6ba898 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -822,6 +822,9 @@ function torbutton_new_identity() {
   try {
     // Make sure that we can only click once on New Identiy to avoid race
     // conditions leading to failures (see bug 11783 for an example).
+    // TODO: Remove the Torbutton menu entry again once we have done our
+    // security control redesign.
+    document.getElementById("torbutton-new-identity").disabled = true;
     document.getElementById("menu_newIdentity").disabled = true;
     document.getElementById("appMenuNewIdentity").disabled = true;
 
@@ -846,6 +849,9 @@ function torbutton_new_identity() {
       if (confirmed) {
         torbutton_do_new_identity();
       } else {
+        // TODO: Remove the Torbutton menu entry again once we have done our
+        // security control redesign.
+        document.getElementById("torbutton-new-identity").disabled = false;
         document.getElementById("menu_newIdentity").disabled = false;
         document.getElementById("appMenuNewIdentity").disabled = false;
       }
@@ -855,6 +861,9 @@ function torbutton_new_identity() {
   } catch(e) {
     // If something went wrong make sure we have the New Identity button
     // enabled (again).
+    // TODO: Remove the Torbutton menu entry again once we have done our
+    // security control redesign.
+    document.getElementById("torbutton-new-identity").disabled = false;
     document.getElementById("menu_newIdentity").disabled = false;
     document.getElementById("appMenuNewIdentity").disabled = false;
     torbutton_log(5, "Unexpected error on new identity: "+e);
@@ -1628,6 +1637,9 @@ function torbutton_check_protections()
   document.getElementById("torbutton-cookie-protector").hidden = m_tb_prefs.getBoolPref("browser.privatebrowsing.autostart");
 
   if (!m_tb_control_pass || (!m_tb_control_ipc_file && !m_tb_control_port)) {
+    // TODO: Remove the Torbutton menu entry again once we have done our
+    // security control redesign.
+    document.getElementById("torbutton-new-identity").disabled = true;
     document.getElementById("menu_newIdentity").disabled = true;
     document.getElementById("appMenuNewIdentity").disabled = true;
   }



More information about the tor-commits mailing list