Commit 820eb920 authored by henry's avatar henry Committed by Pier Angelo Vendrame
Browse files

fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in...

fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection

Bug 42207: Migrate preferences strings to Fluent.
parent 2293db39
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -4,19 +4,11 @@ const { QRCode } = ChromeUtils.importESModule(
  "resource://gre/modules/QRCode.sys.mjs"
);

const { TorStrings } = ChromeUtils.importESModule(
  "resource://gre/modules/TorStrings.sys.mjs"
);

window.addEventListener(
  "DOMContentLoaded",
  () => {
    const bridgeString = window.arguments[0];

    document.documentElement.setAttribute(
      "title",
      TorStrings.settings.scanQrTitle
    );
    const target = document.getElementById("bridgeQr-target");
    const style = window.getComputedStyle(target);
    // We are assuming that the style width and height have "px" units.
+5 −0
Original line number Diff line number Diff line
@@ -7,8 +7,13 @@
  type="child"
  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  xmlns:html="http://www.w3.org/1999/xhtml"
  data-l10n-id="bridge-qr-dialog-title"
>
  <dialog id="bridgeQr-dialog" buttons="accept">
    <linkset>
      <html:link rel="localization" href="browser/tor-browser.ftl" />
    </linkset>

    <script src="chrome://browser/content/torpreferences/bridgeQrDialog.js" />

    <html:div id="bridgeQr">
+7 −34
Original line number Diff line number Diff line
"use strict";

const { TorStrings } = ChromeUtils.importESModule(
  "resource://gre/modules/TorStrings.sys.mjs"
);

const { TorSettings, TorBridgeSource } = ChromeUtils.importESModule(
  "resource://gre/modules/TorSettings.sys.mjs"
);
@@ -16,34 +12,10 @@ const gBuiltinBridgeDialog = {
  init() {
    this._result = window.arguments[0];

    document.documentElement.setAttribute(
      "title",
      TorStrings.settings.builtinBridgeHeader
    );

    document.getElementById(
      "torPreferences-builtinBridge-description"
    ).textContent = TorStrings.settings.builtinBridgeDescription2;

    this._radioGroup = document.getElementById(
      "torPreferences-builtinBridge-typeSelection"
    );

    const typeStrings = {
      obfs4: {
        label: TorStrings.settings.builtinBridgeObfs4Title,
        descr: TorStrings.settings.builtinBridgeObfs4Description2,
      },
      snowflake: {
        label: TorStrings.settings.builtinBridgeSnowflake,
        descr: TorStrings.settings.builtinBridgeSnowflakeDescription2,
      },
      "meek-azure": {
        label: TorStrings.settings.builtinBridgeMeekAzure,
        descr: TorStrings.settings.builtinBridgeMeekAzureDescription2,
      },
    };

    const currentBuiltinType =
      TorSettings.bridges.enabled &&
      TorSettings.bridges.source == TorBridgeSource.BuiltIn
@@ -56,16 +28,18 @@ const gBuiltinBridgeDialog = {
      const radio = optionEl.querySelector("radio");
      const type = radio.value;
      optionEl.hidden = !TorSettings.builtinBridgeTypes.includes(type);
      radio.label = typeStrings[type].label;

      const descriptionEl = optionEl.querySelector(
        ".builtin-bridges-option-description"
      );
      descriptionEl.textContent = typeStrings[type].descr;
      // Set an id to be used for the aria-describedby.
      descriptionEl.id = `builtin-bridges-description-${type}`;
      const currentBadge = optionEl.querySelector(".bridge-status-badge");
      if (type === currentBuiltinType) {
        const currentLabelEl = optionEl.querySelector(
          ".torPreferences-current-bridge-label"
        );
        currentLabelEl.id = `builtin-bridges-current-${type}`;
        // Described by both the current badge and the full description.
        // These will be concatenated together in the screen reader output.
        radio.setAttribute(
@@ -77,6 +51,7 @@ const gBuiltinBridgeDialog = {
      } else {
        // No visible badge.
        radio.setAttribute("aria-describedby", descriptionEl.id);
        currentBadge.classList.remove("bridge-status-current-built-in");
      }
    }

@@ -117,10 +92,8 @@ const gBuiltinBridgeDialog = {
    const connect = TorConnect.canBeginBootstrap;
    this._result.connect = connect;
    this._acceptButton.setAttribute(
      "label",
      connect
        ? TorStrings.settings.bridgeButtonConnect
        : TorStrings.settings.bridgeButtonAccept
      "data-l10n-id",
      connect ? "bridge-dialog-button-connect" : "bridge-dialog-button-accept"
    );
  },

+18 −10
Original line number Diff line number Diff line
@@ -7,26 +7,30 @@
  type="child"
  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  xmlns:html="http://www.w3.org/1999/xhtml"
  data-l10n-id="built-in-dialog-title"
>
  <dialog id="torPreferences-builtinBridge-dialog" buttons="accept,cancel">
    <linkset>
      <html:link rel="localization" href="branding/brand.ftl" />
      <html:link rel="localization" href="browser/tor-browser.ftl" />
    </linkset>

    <script src="chrome://browser/content/torpreferences/builtinBridgeDialog.js" />

    <description id="torPreferences-builtinBridge-description"> </description>
    <description data-l10n-id="built-in-dialog-introduction"></description>
    <radiogroup id="torPreferences-builtinBridge-typeSelection">
      <vbox class="builtin-bridges-option">
        <hbox>
          <!-- The radio option is described by both the "Current bridge" label
          - and the full description. If the "Connected" label is hidden, then
           - only the latter description should contribute. -->
          <radio value="obfs4" />
          <radio
            value="obfs4"
            data-l10n-id="built-in-dialog-obfs4-radio-option"
          />
          <html:span class="bridge-status-badge">
            <html:div class="bridge-status-icon"></html:div>
            <html:span
              id="obfs-bridges-current"
              class="torPreferences-current-bridge-label"
              data-l10n-id="built-in-dialog-current-bridge-label"
            >
@@ -34,18 +38,20 @@
          </html:span>
        </hbox>
        <html:div
          id="obfs-bridges-description"
          class="indent builtin-bridges-option-description"
          data-l10n-id="tor-bridges-built-in-obfs4-description"
        >
        </html:div>
      </vbox>
      <vbox class="builtin-bridges-option">
        <hbox>
          <radio value="snowflake" />
          <radio
            value="snowflake"
            data-l10n-id="built-in-dialog-snowflake-radio-option"
          />
          <html:span class="bridge-status-badge">
            <html:div class="bridge-status-icon"></html:div>
            <html:span
              id="snowflake-bridges-current"
              class="torPreferences-current-bridge-label"
              data-l10n-id="built-in-dialog-current-bridge-label"
            >
@@ -53,18 +59,20 @@
          </html:span>
        </hbox>
        <html:div
          id="snowflake-bridges-description"
          class="indent builtin-bridges-option-description"
          data-l10n-id="tor-bridges-built-in-snowflake-description"
        >
        </html:div>
      </vbox>
      <vbox class="builtin-bridges-option">
        <hbox>
          <radio value="meek-azure" />
          <radio
            value="meek-azure"
            data-l10n-id="built-in-dialog-meek-azure-radio-option"
          />
          <html:span class="bridge-status-badge">
            <html:div class="bridge-status-icon"></html:div>
            <html:span
              id="meek-bridges-current"
              class="torPreferences-current-bridge-label"
              data-l10n-id="built-in-dialog-current-bridge-label"
            >
@@ -72,8 +80,8 @@
          </html:span>
        </hbox>
        <html:div
          id="meek-bridges-description"
          class="indent builtin-bridges-option-description"
          data-l10n-id="tor-bridges-built-in-meek-azure-description"
        >
        </html:div>
      </vbox>
+1 −1
Original line number Diff line number Diff line
@@ -5,5 +5,5 @@
              align="center"
              hidden="true">
  <image class="category-icon"/>
  <label id="torPreferences-labelCategory" class="category-name" flex="1" value="Connection"/>
  <label class="category-name" flex="1" data-l10n-id="tor-connection-settings-heading"></label>
</richlistitem>
Loading