[tor-commits] [Git][tpo/applications/tor-browser][tor-browser-102.12.0esr-12.5-1] fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser

richard (@richard) git at gitlab.torproject.org
Wed Jun 14 15:38:56 UTC 2023



richard pushed to branch tor-browser-102.12.0esr-12.5-1 at The Tor Project / Applications / Tor Browser


Commits:
ba957145 by Henry Wilkes at 2023-06-14T15:40:56+01:00
fixup! Bug 27476: Implement about:torconnect captive portal within Tor Browser

Bug 41850: Don't show tor connection animation for new windows.

- - - - -


2 changed files:

- browser/components/torconnect/content/torConnectTitlebarStatus.css
- browser/components/torconnect/content/torConnectTitlebarStatus.js


Changes:

=====================================
browser/components/torconnect/content/torConnectTitlebarStatus.css
=====================================
@@ -64,11 +64,11 @@
 }
 
 @media (prefers-reduced-motion: no-preference) {
-  #tor-connect-titlebar-status.tor-connect-status-connected {
+  #tor-connect-titlebar-status.tor-connect-status-connected.tor-connect-status-animate-transition {
     transition: color 1000ms;
   }
 
-  #tor-connect-titlebar-status.tor-connect-status-connected img {
+  #tor-connect-titlebar-status.tor-connect-status-connected.tor-connect-status-animate-transition img {
     animation-name: onion-not-connected-to-connected;
     animation-delay: 200ms;
     animation-fill-mode: both;


=====================================
browser/components/torconnect/content/torConnectTitlebarStatus.js
=====================================
@@ -16,6 +16,12 @@ var gTorConnectTitlebarStatus = {
    * @type {Element}
    */
   label: null,
+  /**
+   * Whether we are connected, or null if the connection state is not yet known.
+   *
+   * @type {bool?}
+   */
+  connected: null,
 
   /**
    * Initialize the component.
@@ -84,7 +90,31 @@ var gTorConnectTitlebarStatus = {
         break;
     }
     this.label.textContent = this._strings[textId];
-    this.node.classList.toggle("tor-connect-status-connected", connected);
+    if (this.connected !== connected) {
+      // When we are transitioning from
+      //   this.connected = false
+      // to
+      //   this.connected = true
+      // we want to animate the transition from the not connected state to the
+      // connected state (provided prefers-reduced-motion is not set).
+      //
+      // If instead we are transitioning directly from the initial state
+      //   this.connected = null
+      // to
+      //   this.connected = true
+      // we want to immediately show the connected state without any transition.
+      //
+      // In both cases, the status will eventually be hidden.
+      //
+      // We only expect this latter case when opening a new window after
+      // bootstrapping has already completed. See tor-browser#41850.
+      this.node.classList.toggle(
+        "tor-connect-status-animate-transition",
+        connected && this.connected !== null
+      );
+      this.node.classList.toggle("tor-connect-status-connected", connected);
+      this.connected = connected;
+    }
     this.node.classList.toggle(
       "tor-connect-status-potentially-blocked",
       potentiallyBlocked



View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ba957145a761f1212df2d4f2b348478404c78e08

-- 
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ba957145a761f1212df2d4f2b348478404c78e08
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/20230614/fbb720c7/attachment-0001.htm>


More information about the tor-commits mailing list