Skip to content

Refactor tor settings dialogs

Merge Info

Related Issues

Backporting

Timeline

  • Immediate: patchset needed as soon as possible
  • 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
  • No Backport (preferred): patchset for the next major stable

(Optional) Justification

  • Emergency security update: patchset fixes CVEs, 0-days, etc
  • 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

Merging

  • Merge to tor-browser - !fixups to tor-browser-specific commits, new features, security backports
  • Merge to base-browser - !fixups to base-browser-specific commits, new features to be shared with mullvad-browser, and security backports
    • NOTE: if your changeset includes patches to both base-browser and tor-browser please clearly label in the change description which commits should be cherry-picked to base-browser after merging

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) : ma1
    • fonts : pierov
    • frontend (implementation) : henry
    • frontend (review) : donuts, richard
    • localization : henry, pierov
    • macos : clairehurst, dan
    • nightly builds : boklm
    • rebases/release-prep : dan, ma1, pierov, richard
    • security : ma1
    • signing : boklm, richard
    • updater : pierov
    • misc/other : pierov, richard

Change Description

Refactor the tor setting dialogs to follow the Firefox style. We stop using a module and class for the dialogs, and instead use a plain script run within the dialog.

For the bridge dialogs, on success we move the focus up to the "Your bridges" section.

How Tested

For the three bridge dialogs (built-in, requested, manual), tested with:

  1. about:torconnect not yet complete, should show the "Connect" button and trigger bootstrap after applying settings.
  2. With about:torconnect complete, on "OK" should close dialog and focus the "Your bridges" heading (and scroll it into view).
  3. Cancelling the dialogs, with "Cancel" button, close button or Escape, does not apply the changes.

For the QR dialog, shows the correct QR code.

For the advanced settings dialog, the settings are properly saved.

For the tor log dialog, the log is shown and copy-able.

Merge request reports