[tor-commits] [Git][tpo/applications/tor-browser][tor-browser-128.1.0esr-14.0-1] 4 commits: fixup! Bug 3455: Add DomainIsolator, for isolating circuit by domain.

morgan (@morgan) git at gitlab.torproject.org
Thu Aug 22 17:57:54 UTC 2024



morgan pushed to branch tor-browser-128.1.0esr-14.0-1 at The Tor Project / Applications / Tor Browser


Commits:
a7f45e05 by Pier Angelo Vendrame at 2024-08-22T14:02:09+02:00
fixup! Bug 3455: Add DomainIsolator, for isolating circuit by domain.

Bug 43074: Pass the browser to TorDomainIsolator.newCircuitForBrowser.

- - - - -
d25a948d by Pier Angelo Vendrame at 2024-08-22T14:03:09+02:00
fixup! Bug 41600: Add a tor circuit display panel.

Bug 43074: Pass the browser to TorDomainIsolator.newCircuitForBrowser.

- - - - -
6ca3c329 by Pier Angelo Vendrame at 2024-08-22T14:03:41+02:00
fixup! Bug 40209: Implement Basic Crypto Safety

Bug 43074: Pass the browser to TorDomainIsolator.newCircuitForBrowser.

- - - - -
da2d11fa by Pier Angelo Vendrame at 2024-08-22T14:05:24+02:00
Bug 42247: Android helpers for the TorProvider

Bug 42655: Add a backend function for the "New circuit for this site"
functionality.

- - - - -


9 changed files:

- browser/actors/CryptoSafetyParent.sys.mjs
- browser/base/content/appmenu-viewcache.inc.xhtml
- browser/base/content/browser-menubar.inc
- browser/base/content/browser-sets.inc
- browser/base/content/navigator-toolbox.inc.xhtml
- browser/components/torcircuit/content/torCircuitPanel.js
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
- mobile/shared/modules/geckoview/GeckoViewContent.sys.mjs
- toolkit/components/tor-launcher/TorDomainIsolator.sys.mjs


Changes:

=====================================
browser/actors/CryptoSafetyParent.sys.mjs
=====================================
@@ -67,7 +67,7 @@ export class CryptoSafetyParent extends JSWindowActorParent {
       const browser = browsingContext.embedderElement;
       if (browser) {
         lazy.TorDomainIsolator.newCircuitForBrowser(
-          browser.ownerGlobal.gBrowser
+          browser.ownerGlobal.gBrowser.selectedBrowser
         );
       }
     }


=====================================
browser/base/content/appmenu-viewcache.inc.xhtml
=====================================
@@ -56,7 +56,7 @@
                      class="subviewbutton"
                      key="new-circuit-key"
                      data-l10n-id="appmenuitem-new-tor-circuit"
-                     oncommand="TorDomainIsolator.newCircuitForBrowser(gBrowser);"/>
+                     oncommand="TorDomainIsolator.newCircuitForBrowser(gBrowser.selectedBrowser);"/>
       <toolbarseparator/>
       <toolbarbutton id="appMenu-bookmarks-button"
                      class="subviewbutton subviewbutton-nav"


=====================================
browser/base/content/browser-menubar.inc
=====================================
@@ -33,7 +33,7 @@
                           key="new-identity-key" data-l10n-id="menu-new-identity"/>
                 <menuitem id="menu_newCircuit"
                           key="new-circuit-key" data-l10n-id="menu-new-tor-circuit"
-                          oncommand="TorDomainIsolator.newCircuitForBrowser(gBrowser);"/>
+                          oncommand="TorDomainIsolator.newCircuitForBrowser(gBrowser.selectedBrowser);"/>
                 <menuseparator/>
                 <menuitem id="menu_openLocation"
                           hidden="true"


=====================================
browser/base/content/browser-sets.inc
=====================================
@@ -392,5 +392,5 @@
          internal="true"/>
 #endif
     <key id="new-identity-key" modifiers="accel shift" key="U" oncommand="NewIdentityButton.onCommand(event)"/>
-    <key id="new-circuit-key" modifiers="accel shift" key="L" oncommand="TorDomainIsolator.newCircuitForBrowser(gBrowser)"/>
+    <key id="new-circuit-key" modifiers="accel shift" key="L" oncommand="TorDomainIsolator.newCircuitForBrowser(gBrowser.selectedBrowser)"/>
   </keyset>


=====================================
browser/base/content/navigator-toolbox.inc.xhtml
=====================================
@@ -621,7 +621,7 @@
 
     <toolbarbutton id="new-circuit-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
                    data-l10n-id="toolbar-new-tor-circuit"
-                   oncommand="TorDomainIsolator.newCircuitForBrowser(gBrowser);"/>
+                   oncommand="TorDomainIsolator.newCircuitForBrowser(gBrowser.selectedBrowser);"/>
 
     <toolbarbutton id="fullscreen-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
                    observes="View:FullScreen"


=====================================
browser/components/torcircuit/content/torCircuitPanel.js
=====================================
@@ -127,7 +127,7 @@ var gTorCircuitPanel = {
     document
       .getElementById("tor-circuit-new-circuit")
       .addEventListener("command", () => {
-        TorDomainIsolator.newCircuitForBrowser(gBrowser);
+        TorDomainIsolator.newCircuitForBrowser(gBrowser.selectedBrowser);
       });
 
     // Update the display just before opening.


=====================================
mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
=====================================
@@ -2610,6 +2610,14 @@ public class GeckoSession {
     return mEventDispatcher.queryBundle("GeckoView:GetTorCircuit");
   }
 
+  /**
+   * Change the circuit for this session.
+   */
+  @UiThread
+  public void newTorCircuit() {
+    mEventDispatcher.dispatch("GeckoView:NewTorCircuit");
+  }
+
   /**
    * Set this GeckoSession as active or inactive, which represents if the session is currently
    * visible or not. Setting a GeckoSession to inactive will significantly reduce its memory


=====================================
mobile/shared/modules/geckoview/GeckoViewContent.sys.mjs
=====================================
@@ -40,6 +40,7 @@ export class GeckoViewContent extends GeckoViewModule {
       "GeckoView:ZoomToInput",
       "GeckoView:IsPdfJs",
       "GeckoView:GetTorCircuit",
+      "GeckoView:NewTorCircuit",
     ]);
   }
 
@@ -313,6 +314,9 @@ export class GeckoViewContent extends GeckoViewModule {
       case "GeckoView:GetTorCircuit":
         this._getTorCircuit(aCallback);
         break;
+      case "GeckoView:NewTorCircuit":
+        this._newTorCircuit(aCallback);
+        break;
     }
   }
 
@@ -437,6 +441,11 @@ export class GeckoViewContent extends GeckoViewModule {
     }
   }
 
+  _newTorCircuit(aCallback) {
+    lazy.TorDomainIsolator.newCircuitForBrowser(this.browser);
+    aCallback?.onSuccess();
+  }
+
   async _containsFormData(aCallback) {
     aCallback.onSuccess(await this.actor.containsFormData());
   }


=====================================
toolkit/components/tor-launcher/TorDomainIsolator.sys.mjs
=====================================
@@ -225,11 +225,9 @@ class TorDomainIsolatorImpl {
    * Create a new nonce for the FP domain of the selected browser and reload the
    * tab with a new circuit.
    *
-   * @param {object} globalBrowser Should be the gBrowser from the context of
-   * the caller
+   * @param {object} browser The browser we want to change the circuit for.
    */
-  newCircuitForBrowser(globalBrowser) {
-    const browser = globalBrowser.selectedBrowser;
+  newCircuitForBrowser(browser) {
     const firstPartyDomain = getDomainForBrowser(browser);
     this.newCircuitForDomain(firstPartyDomain);
     const { username, password } = this.#getSocksProxyCredentials(



View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/3b18923af2f77dfa278b3801d4c65bf8d4d5142e...da2d11faea0d951f19265b8c0187087a05ef4a47

-- 
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/3b18923af2f77dfa278b3801d4c65bf8d4d5142e...da2d11faea0d951f19265b8c0187087a05ef4a47
You're receiving this email because of your account on gitlab.torproject.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-commits/attachments/20240822/7c048ac0/attachment-0001.htm>


More information about the tor-commits mailing list