richard pushed to branch tor-browser-115.2.0esr-13.0-1 at The Tor Project / Applications / Tor Browser
Commits:
-
f7b33748
by Henry Wilkes at 2023-08-30T16:55:18+00:00
-
3507dd2c
by Henry Wilkes at 2023-08-30T16:55:18+00:00
4 changed files:
- browser/components/torpreferences/content/connectionPane.js
- browser/components/torpreferences/content/connectionPane.xhtml
- browser/components/torpreferences/content/torPreferences.css
- toolkit/content/widgets/moz-toggle/moz-toggle.mjs
Changes:
... | ... | @@ -99,7 +99,6 @@ const gConnectionPane = (function () { |
99 | 99 | currentHeader: "#torPreferences-currentBridges-header",
|
100 | 100 | currentDescription: "#torPreferences-currentBridges-description",
|
101 | 101 | currentDescriptionText: "#torPreferences-currentBridges-descriptionText",
|
102 | - switchLabel: "#torPreferences-currentBridges-enableAll-label",
|
|
103 | 102 | switch: "#torPreferences-currentBridges-switch",
|
104 | 103 | cards: "#torPreferences-currentBridges-cards",
|
105 | 104 | cardTemplate: "#torPreferences-bridgeCard-template",
|
... | ... | @@ -391,11 +390,10 @@ const gConnectionPane = (function () { |
391 | 390 | selectors.bridges.currentHeader
|
392 | 391 | );
|
393 | 392 | bridgeHeader.textContent = TorStrings.settings.bridgeCurrent;
|
394 | - prefpane.querySelector(selectors.bridges.switchLabel).textContent =
|
|
395 | - TorStrings.settings.allBridgesEnabled;
|
|
396 | 393 | const bridgeSwitch = prefpane.querySelector(selectors.bridges.switch);
|
397 | - bridgeSwitch.addEventListener("change", () => {
|
|
398 | - TorSettings.bridges.enabled = bridgeSwitch.checked;
|
|
394 | + bridgeSwitch.setAttribute("label", TorStrings.settings.allBridgesEnabled);
|
|
395 | + bridgeSwitch.addEventListener("toggle", () => {
|
|
396 | + TorSettings.bridges.enabled = bridgeSwitch.pressed;
|
|
399 | 397 | TorSettings.saveToPrefs();
|
400 | 398 | TorSettings.applySettings().then(result => {
|
401 | 399 | this._populateBridgeCards();
|
... | ... | @@ -525,7 +523,7 @@ const gConnectionPane = (function () { |
525 | 523 | strings.splice(index, 1);
|
526 | 524 | }
|
527 | 525 | TorSettings.bridges.enabled =
|
528 | - bridgeSwitch.checked && !!strings.length;
|
|
526 | + bridgeSwitch.pressed && !!strings.length;
|
|
529 | 527 | TorSettings.bridges.bridge_strings = strings.join("\n");
|
530 | 528 | TorSettings.saveToPrefs();
|
531 | 529 | TorSettings.applySettings().then(result => {
|
... | ... | @@ -642,7 +640,9 @@ const gConnectionPane = (function () { |
642 | 640 | bridgeHeader.hidden = false;
|
643 | 641 | bridgeDescription.hidden = false;
|
644 | 642 | bridgeCards.hidden = false;
|
645 | - bridgeSwitch.checked = TorSettings.bridges.enabled;
|
|
643 | + // Changing the pressed property on moz-toggle should not trigger its
|
|
644 | + // "toggle" event.
|
|
645 | + bridgeSwitch.pressed = TorSettings.bridges.enabled;
|
|
646 | 646 | bridgeCards.classList.toggle("disabled", !TorSettings.bridges.enabled);
|
647 | 647 | bridgeCards.classList.toggle("single-card", numBridges === 1);
|
648 | 648 |
... | ... | @@ -108,16 +108,10 @@ |
108 | 108 | <html:span id="torPreferences-currentBridges-descriptionText" />
|
109 | 109 | </description>
|
110 | 110 | <hbox align="center">
|
111 | - <html:input
|
|
112 | - type="checkbox"
|
|
111 | + <html:moz-toggle
|
|
113 | 112 | id="torPreferences-currentBridges-switch"
|
114 | - class="toggle-button"
|
|
113 | + label-align-after=""
|
|
115 | 114 | />
|
116 | - <html:label
|
|
117 | - id="torPreferences-currentBridges-enableAll-label"
|
|
118 | - for="torPreferences-currentBridges-switch"
|
|
119 | - >
|
|
120 | - </html:label>
|
|
121 | 115 | <spacer flex="1" />
|
122 | 116 | <button id="torPreferences-currentBridges-removeAll" />
|
123 | 117 | </hbox>
|
... | ... | @@ -5,11 +5,6 @@ |
5 | 5 | list-style-image: url("chrome://browser/content/torconnect/tor-connect.svg");
|
6 | 6 | }
|
7 | 7 | |
8 | -html:dir(rtl) input[type="checkbox"].toggle-button::before {
|
|
9 | - /* For some reason, the rule from toggle-button.css is not applied... */
|
|
10 | - scale: -1;
|
|
11 | -}
|
|
12 | - |
|
13 | 8 | /* Status */
|
14 | 9 | |
15 | 10 | #torPreferences-status-box {
|
... | ... | @@ -83,12 +78,6 @@ html:dir(rtl) input[type="checkbox"].toggle-button::before { |
83 | 78 | font-weight: 700;
|
84 | 79 | }
|
85 | 80 | |
86 | -#torPreferences-currentBridges-enableAll-label {
|
|
87 | - /* Block display to work with parent's xul box layout. */
|
|
88 | - display: block;
|
|
89 | - margin-inline: 6px;
|
|
90 | -}
|
|
91 | - |
|
92 | 81 | /* Bridge cards */
|
93 | 82 | :root {
|
94 | 83 | --bridgeCard-animation-time: 0.25s;
|
... | ... | @@ -36,6 +36,8 @@ export default class MozToggle extends MozLitElement { |
36 | 36 | accessKey: { type: String, attribute: "accesskey" },
|
37 | 37 | // Extension for tor-browser. Used for tor-browser#41333.
|
38 | 38 | title: { type: String, attribute: "title" },
|
39 | + // Extension for tor-browser. Used for tor-browser#40837.
|
|
40 | + labelAlignAfter: { type: Boolean, attribute: "label-align-after" },
|
|
39 | 41 | };
|
40 | 42 | |
41 | 43 | static get queries() {
|
... | ... | @@ -119,9 +121,13 @@ export default class MozToggle extends MozLitElement { |
119 | 121 | // accessible name derived from the label.
|
120 | 122 | const label = ariaLabel || this.label;
|
121 | 123 | const ariaDescription = label === this.title ? undefined : this.title;
|
124 | + // For tor-browser, we want to be able to place the label after the toggle
|
|
125 | + // as well.
|
|
126 | + // Used for the enable-bridges switch tor-browser#40837.
|
|
127 | + const labelAlignAfter = this.labelAlignAfter;
|
|
122 | 128 | return html`
|
123 | 129 | <link rel="stylesheet" href=${this.constructor.stylesheetUrl} />
|
124 | - ${this.labelTemplate()}
|
|
130 | + ${labelAlignAfter ? "" : this.labelTemplate()}
|
|
125 | 131 | <button
|
126 | 132 | id="moz-toggle-button"
|
127 | 133 | part="button"
|
... | ... | @@ -136,6 +142,7 @@ export default class MozToggle extends MozLitElement { |
136 | 142 | )}
|
137 | 143 | @click=${handleClick}
|
138 | 144 | ></button>
|
145 | + ${labelAlignAfter ? this.labelTemplate() : ""}
|
|
139 | 146 | ${this.descriptionTemplate()}
|
140 | 147 | `;
|
141 | 148 | }
|