Convert "quickstart" checkbox into a "connect automatically" toggle

Merge Info

Issues

Resolves

Related

Merging

Target Branches

  • tor-browser - !fixups to tor-browser-specific commits, new features, security backports
  • base-browser and mullvad-browser - !fixups to base-browser-specific commits, new features to be shared with mullvad-browser, and security backports
    • ⚠️ IMPORTANT: Please list the base-browser-specific commits which need to be cherry-picked to the base-browser and mullvad-browser branches here

Target Channels

  • Alpha: esr128-14.5
  • Stable: esr128-14.0
  • Legacy: esr115-13.5

Backporting

Timeline

  • No Backport (preferred): patchset for the next major stable
  • Immediate: patchset needed as soon as possible (fixes CVEs, 0-days, etc)
  • Next Minor Stable Release: patchset that needs to be verified in nightly before backport
  • Eventually: patchset that needs to be verified in alpha before backport

(Optional) Justification

  • Security update: patchset contains a security fix (be sure to select the correct item in Timeline)
  • Censorship event: patchset enables censorship circumvention
  • Critical bug-fix: patchset fixes a bug in core-functionality
  • Consistency: patchset which would make development easier if it were in both the alpha and release branches; developer tools, build system changes, etc
  • Sponsor required: patchset required for sponsor
  • Localization: typos and other localization changes that should be also in the release branch
  • Other: please explain

Uplifting

  • Patchset is a candidate for uplift to Firefox

Issue Tracking

Review

Request Reviewer

  • Request review from an applications developer depending on modified system:
    • NOTE: if the MR modifies multiple areas, please /cc all the relevant reviewers (since Gitlab only allows 1 reviewer)
    • accessibility : henry
    • android : clairehurst, dan
    • build system : boklm
    • extensions : ma1
    • firefox internals (XUL/JS/XPCOM) : jwilde, ma1
    • fonts : pierov
    • frontend (implementation) : henry
    • frontend (review) : donuts, morgan
    • localization : henry, pierov
    • macOS : clairehurst, dan
    • nightly builds : boklm
    • rebases/release-prep : dan, ma1, pierov, morgan
    • security : jwilde, ma1
    • signing : boklm, morgan
    • updater : pierov
    • windows : jwilde, morgan
    • misc/other : pierov, morgan

Change Description

We convert the xul:checkbox into moz-toggle, and we change the heading and description text.

How Tested

Made sure the initial value was correctly loaded, when enabled or not. Made sure it stayed in sync with about:torconnect.

Edited by morgan

Merge request reports

Loading
+7 −7
Changes for browser/components/torpreferences/content/connectionPane.js: 7 added lines, 7 removed lines.
Original line number Original line Diff line number Diff line
@@ -2482,18 +2482,18 @@ const gConnectionPane = (function () {


  const retval = {
  const retval = {
    // cached frequently accessed DOM elements
    // cached frequently accessed DOM elements
    _enableQuickstartCheckbox: null,
    _enableQuickstartToggle: null,


    // populate xul with strings and cache the relevant elements
    // populate xul with strings and cache the relevant elements
    _populateXUL() {
    _populateXUL() {
      // Quickstart
      // Quickstart
      this._enableQuickstartCheckbox = document.getElementById(
      this._enableQuickstartToggle = document.getElementById(
        "torPreferences-quickstart-toggle"
        "tor-connection-quickstart-toggle"
      );
      );
      this._enableQuickstartCheckbox.addEventListener("command", () => {
      this._enableQuickstartToggle.addEventListener("toggle", () => {
        TorConnect.quickstart = this._enableQuickstartCheckbox.checked;
        TorConnect.quickstart = this._enableQuickstartToggle.pressed;
      });
      });
      this._enableQuickstartCheckbox.checked = TorConnect.quickstart;
      this._enableQuickstartToggle.pressed = TorConnect.quickstart;
      Services.obs.addObserver(this, TorConnectTopics.QuickstartChange);
      Services.obs.addObserver(this, TorConnectTopics.QuickstartChange);


      // Location
      // Location
@@ -2639,7 +2639,7 @@ const gConnectionPane = (function () {
    observe(subject, topic) {
    observe(subject, topic) {
      switch (topic) {
      switch (topic) {
        case TorConnectTopics.QuickstartChange: {
        case TorConnectTopics.QuickstartChange: {
          this._enableQuickstartCheckbox.checked = TorConnect.quickstart;
          this._enableQuickstartToggle.pressed = TorConnect.quickstart;
          break;
          break;
        }
        }
        // triggered when tor connect state changes and we may
        // triggered when tor connect state changes and we may
+8 −4
Changes for browser/components/torpreferences/content/connectionPane.xhtml: 8 added lines, 4 removed lines.
Original line number Original line Diff line number Diff line
@@ -69,16 +69,19 @@
  <!-- Quickstart -->
  <!-- Quickstart -->
  <groupbox data-category="paneConnection" hidden="true">
  <groupbox data-category="paneConnection" hidden="true">
    <label>
    <label>
      <html:h2 data-l10n-id="tor-connection-quickstart-heading"></html:h2>
      <html:h2 data-l10n-id="tor-connection-automatic-heading"></html:h2>
    </label>
    </label>
    <description
    <description
      class="description-deemphasized"
      class="description-deemphasized"
      flex="1"
      flex="1"
      data-l10n-id="tor-connection-quickstart-description"
      data-l10n-id="tor-connection-automatic-description"
    />
    />
    <checkbox
    <html:moz-toggle
      id="torPreferences-quickstart-toggle"
      id="tor-connection-quickstart-toggle"
      class="tor-toggle"
      label-align-after=""
      data-l10n-id="tor-connection-quickstart-checkbox"
      data-l10n-id="tor-connection-quickstart-checkbox"
      data-l10n-attrs="label"
    />
    />
  </groupbox>
  </groupbox>


@@ -141,6 +144,7 @@
    </hbox>
    </hbox>
    <html:moz-toggle
    <html:moz-toggle
      id="tor-bridges-enabled-toggle"
      id="tor-bridges-enabled-toggle"
      class="tor-toggle"
      label-align-after=""
      label-align-after=""
      data-l10n-id="tor-bridges-use-bridges"
      data-l10n-id="tor-bridges-use-bridges"
      data-l10n-attrs="label"
      data-l10n-attrs="label"
+5 −5
Changes for browser/components/torpreferences/content/torPreferences.css: 5 added lines, 5 removed lines.
Original line number Original line Diff line number Diff line
@@ -34,6 +34,11 @@ button.spoof-button-disabled {
  }
  }
}
}


.tor-toggle {
  margin-block: 16px;
  width: max-content;
}

/* Status */
/* Status */


#network-status-internet-area {
#network-status-internet-area {
@@ -201,11 +206,6 @@ button.spoof-button-disabled {
  display: none;
  display: none;
}
}


#tor-bridges-enabled-toggle {
  margin-block: 16px;
  width: max-content;
}

#tor-bridges-update-area {
#tor-bridges-update-area {
  /* Still accessible to screen reader, but not visual. */
  /* Still accessible to screen reader, but not visual. */
  position: absolute;
  position: absolute;
Loading