[tor-commits] [tor-browser-build/master] Bug 33845: Rebase namecoin torbutton patch

boklm at torproject.org boklm at torproject.org
Thu Apr 9 20:43:49 UTC 2020


commit d3a750533fbc28e9e80cce5311bbf79a3f58db21
Author: Alex Catarineu <acat at torproject.org>
Date:   Wed Apr 8 21:33:14 2020 +0200

    Bug 33845: Rebase namecoin torbutton patch
---
 projects/firefox/namecoin-torbutton.patch | 75 ++++++++++++++++++++++++-------
 1 file changed, 58 insertions(+), 17 deletions(-)

diff --git a/projects/firefox/namecoin-torbutton.patch b/projects/firefox/namecoin-torbutton.patch
index 11cf7a1..5649ee6 100644
--- a/projects/firefox/namecoin-torbutton.patch
+++ b/projects/firefox/namecoin-torbutton.patch
@@ -1,8 +1,8 @@
 diff --git a/chrome/content/tor-circuit-display.js b/chrome/content/tor-circuit-display.js
-index 5ecbe7d..f771150 100644
+index 119f6fca..477b0302 100644
 --- a/chrome/content/tor-circuit-display.js
 +++ b/chrome/content/tor-circuit-display.js
-@@ -49,7 +49,11 @@ let credentialsToNodeDataMap = new Map(),
+@@ -48,7 +48,11 @@ let credentialsToNodeDataMap = new Map(),
      knownCircuitIDs = new Map(),
      // A mutable map that records the SOCKS credentials for the
      // latest channels for each browser + domain.
@@ -15,7 +15,7 @@ index 5ecbe7d..f771150 100644
  
  // __trimQuotes(s)__.
  // Removes quotation marks around a quoted string.
-@@ -126,6 +130,28 @@ let getCircuitStatusByID = async function (aController, circuitID) {
+@@ -132,6 +136,28 @@ let getCircuitStatusByID = async function (aController, circuitID) {
    return null;
  };
  
@@ -44,7 +44,7 @@ index 5ecbe7d..f771150 100644
  // __collectIsolationData(aController, updateUI)__.
  // Watches for STREAM SENTCONNECT events. When a SENTCONNECT event occurs, then
  // we assume isolation settings (SOCKS username+password) are now fixed for the
-@@ -139,6 +165,15 @@ let collectIsolationData = function (aController, updateUI) {
+@@ -145,6 +171,15 @@ let collectIsolationData = function (aController, updateUI) {
      "STREAM",
      streamEvent => streamEvent.StreamStatus === "SENTCONNECT",
      async (streamEvent) => {
@@ -52,7 +52,7 @@ index 5ecbe7d..f771150 100644
 +      // Collect any stream target that might be an onion.
 +      if (streamEvent && streamEvent.StreamID && streamEvent.Target) {
 +        let targetDomain = streamEvent.Target.split(":")[0];
-+	if (targetDomain.endsWith(".onion")) {
++        if (targetDomain.endsWith(".onion")) {
 +          bitToOnionMap[bitTargets[streamEvent.StreamID]] = targetDomain;
 +          logger.eclog(3, "mapped " + bitTargets[streamEvent.StreamID] + " to " + targetDomain);
 +        }
@@ -60,10 +60,10 @@ index 5ecbe7d..f771150 100644
        if (!knownCircuitIDs.get(streamEvent.CircuitID)) {
          logger.eclog(3, "streamEvent.CircuitID: " + streamEvent.CircuitID);
          knownCircuitIDs.set(streamEvent.CircuitID, true);
-@@ -306,12 +341,14 @@ let updateCircuitDisplay = function () {
-          (i === 0 && nodeData[0].type !== "bridge") ?
-            ["span", { class: "circuit-guard-info" }, uiString("guard")] : null);
+@@ -312,7 +347,9 @@ let updateCircuitDisplay = function () {
      }
+ 
+     let domainParts = [];
 -    if (domain.endsWith(".onion")) {
 +    logger.eclog(3, "bit to onion map:" + JSON.stringify(bitToOnionMap) + ", domain: " + domain);
 +    let mappedOnion = bitToOnionMap[domain];
@@ -71,13 +71,54 @@ index 5ecbe7d..f771150 100644
        for (let i = 0; i < 3; ++i) {
          li(uiString("relay"));
        }
+@@ -325,24 +362,28 @@ let updateCircuitDisplay = function () {
+       domainParts.push(domain);
      }
--    li(domain);
-+    li(domain, " ", mappedOnion ? ["span", { class: "circuit-ip-address" }, mappedOnion] : null);
+ 
+-    // We use a XUL html:span element so that the tooltiptext is displayed.
+-    li([
+-      "html:span",
+-      {
+-        class: "circuit-onion",
+-        onclick: `
+-          this.classList.add("circuit-onion-copied");
+-          Cc[
+-            "@mozilla.org/widget/clipboardhelper;1"
+-          ].getService(Ci.nsIClipboardHelper).copyString(this.getAttribute("data-onion"))
+-        `,
+-        "data-onion": domain,
+-        "data-text-clicktocopy": torbutton_get_property_string("torbutton.circuit_display.click_to_copy"),
+-        "data-text-copied": torbutton_get_property_string("torbutton.circuit_display.copied"),
+-        tooltiptext: domain,
+-      },
+-      ...domainParts,
+-    ]);
++    if (mappedOnion) {
++      li(domain, " ", ["span", { class: "circuit-ip-address" }, mappedOnion]);
++    } else {
++      // We use a XUL html:span element so that the tooltiptext is displayed.
++      li([
++        "html:span",
++        {
++          class: "circuit-onion",
++          onclick: `
++            this.classList.add("circuit-onion-copied");
++            Cc[
++              "@mozilla.org/widget/clipboardhelper;1"
++            ].getService(Ci.nsIClipboardHelper).copyString(this.getAttribute("data-onion"))
++          `,
++          "data-onion": domain,
++          "data-text-clicktocopy": torbutton_get_property_string("torbutton.circuit_display.click_to_copy"),
++          "data-text-copied": torbutton_get_property_string("torbutton.circuit_display.copied"),
++          tooltiptext: domain,
++        },
++        ...domainParts,
++      ]);
++    }
+ 
      // Hide the note about guards if we are using a bridge.
      document.getElementById("circuit-guard-note-container").style.display =
-       (nodeData[0].type === "bridge") ? "none" : "block";
-@@ -418,6 +455,7 @@ let setupDisplay = function (ipcFile, host, port, password, enablePrefName) {
+@@ -450,6 +491,7 @@ let setupDisplay = function (enablePrefName) {
        stopCollectingIsolationData = null,
        stopCollectingBrowserCredentials = null,
        stopEnsuringCorrectPopupDimensions = null,
@@ -85,17 +126,17 @@ index 5ecbe7d..f771150 100644
        stop = function() {
          syncDisplayWithSelectedTab(false);
          if (myController) {
-@@ -430,6 +468,9 @@ let setupDisplay = function (ipcFile, host, port, password, enablePrefName) {
+@@ -462,6 +504,9 @@ let setupDisplay = function (enablePrefName) {
            if (stopEnsuringCorrectPopupDimensions) {
              stopEnsuringCorrectPopupDimensions();
            }
-+	  if (stopCollectingBitTargets) {
-+	    stopCollectingBitTargets();
-+	  }
++          if (stopCollectingBitTargets) {
++            stopCollectingBitTargets();
++          }
            myController = null;
          }
        },
-@@ -444,6 +485,7 @@ let setupDisplay = function (ipcFile, host, port, password, enablePrefName) {
+@@ -475,6 +520,7 @@ let setupDisplay = function (enablePrefName) {
              stop();
            });
            syncDisplayWithSelectedTab(true);





More information about the tor-commits mailing list