richard pushed to branch tor-browser-115.7.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
-
5e1675f4
by Henry Wilkes at 2024-02-08T14:40:56+00:00
5 changed files:
- − browser/components/torpreferences/content/bridge-qr-onion-mask.svg
- browser/components/torpreferences/content/bridgeQrDialog.js
- browser/components/torpreferences/content/bridgeQrDialog.xhtml
- browser/components/torpreferences/content/torPreferences.css
- browser/components/torpreferences/jar.mn
Changes:
1 | -<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2 | -<svg viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg">
|
|
3 | - <path d="M 8 0.5 C 3.85786 0.5 0.5 3.85786 0.5 8 C 0.5 12.1421 3.85786 15.5 8 15.5 C 12.1421 15.5 15.5 12.1421 15.5 8 C 15.5 3.85786 12.1421 0.5 8 0.5 z M 8 1.671875 C 11.4949 1.671875 14.328125 4.50507 14.328125 8 C 14.328125 11.4949 11.4949 14.328125 8 14.328125 L 8 13.25 C 10.89951 13.25 13.25 10.89951 13.25 8 C 13.25 5.10051 10.89951 2.75 8 2.75 L 8 1.671875 z M 8 3.921875 C 10.25231 3.921875 12.078125 5.74772 12.078125 8 C 12.078125 10.25231 10.25231 12.078125 8 12.078125 L 8 11 C 9.65686 11 11 9.65686 11 8 C 11 6.34315 9.65686 5 8 5 L 8 3.921875 z M 8 6.171875 C 9.00965 6.171875 9.828125 6.99036 9.828125 8 C 9.828125 9.00965 9.00965 9.828125 8 9.828125 L 8 6.171875 z " clip-rule="evenodd" fill-rule="evenodd" fill="#000000"/>
|
|
4 | -</svg> |
... | ... | @@ -19,15 +19,18 @@ window.addEventListener( |
19 | 19 | );
|
20 | 20 | const target = document.getElementById("bridgeQr-target");
|
21 | 21 | const style = window.getComputedStyle(target);
|
22 | - const width = style.width.substr(0, style.width.length - 2);
|
|
23 | - const height = style.height.substr(0, style.height.length - 2);
|
|
22 | + // We are assuming that the style width and height have "px" units.
|
|
23 | + // Trailing "px" is not parsed.
|
|
24 | + // NOTE: Our QRCode module doesn't seem to use the width or height
|
|
25 | + // attributes.
|
|
26 | + const width = parseInt(style.width, 10);
|
|
27 | + const height = parseInt(style.height, 10);
|
|
24 | 28 | new QRCode(target, {
|
25 | 29 | text: bridgeString,
|
26 | 30 | width,
|
27 | 31 | height,
|
28 | 32 | colorDark: style.color,
|
29 | 33 | colorLight: style.backgroundColor,
|
30 | - document,
|
|
31 | 34 | });
|
32 | 35 | },
|
33 | 36 | { once: true }
|
... | ... | @@ -11,12 +11,9 @@ |
11 | 11 | <dialog id="bridgeQr-dialog" buttons="accept">
|
12 | 12 | <script src="chrome://browser/content/torpreferences/bridgeQrDialog.js" />
|
13 | 13 | |
14 | - <html:div>
|
|
15 | - <html:div id="bridgeQr">
|
|
16 | - <html:div id="bridgeQr-target" />
|
|
17 | - <html:div id="bridgeQr-onionBox" />
|
|
18 | - <html:div id="bridgeQr-onion" />
|
|
19 | - </html:div>
|
|
14 | + <html:div id="bridgeQr">
|
|
15 | + <html:div id="bridgeQr-target"></html:div>
|
|
16 | + <html:div id="bridgeQr-icon"></html:div>
|
|
20 | 17 | </html:div>
|
21 | 18 | </dialog>
|
22 | 19 | </window> |
... | ... | @@ -775,21 +775,25 @@ dialog#torPreferences-requestBridge-dialog > hbox { |
775 | 775 | }
|
776 | 776 | |
777 | 777 | /* Show bridge QR dialog */
|
778 | + |
|
778 | 779 | #bridgeQr {
|
780 | + flex: 0 0 auto;
|
|
781 | + align-self: center;
|
|
779 | 782 | /* Some readers don't recognize QRs with inverted colors, so let's make
|
780 | 783 | the ones are darker than zeroes. See
|
781 | 784 | https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41049 */
|
782 | 785 | --qr-one: black;
|
783 | 786 | --qr-zero: white;
|
784 | 787 | background: var(--qr-zero);
|
785 | - position: relative;
|
|
786 | 788 | /* Padding is needed in case the dark theme is used so the bits don't blend
|
787 | 789 | with whatever the default background color is. */
|
788 | 790 | padding: 10px;
|
789 | - margin: auto;
|
|
790 | - margin-bottom: 20px;
|
|
791 | - max-width: max-content;
|
|
792 | - border-radius: 5px;
|
|
791 | + margin-block: 4px 8px;
|
|
792 | + border-radius: 4px;
|
|
793 | + display: grid;
|
|
794 | + align-items: center;
|
|
795 | + justify-items: center;
|
|
796 | + grid-template: "qr" max-content / max-content;
|
|
793 | 797 | }
|
794 | 798 | |
795 | 799 | #bridgeQr-target {
|
... | ... | @@ -797,27 +801,21 @@ dialog#torPreferences-requestBridge-dialog > hbox { |
797 | 801 | height: 300px;
|
798 | 802 | background: var(--qr-zero);
|
799 | 803 | color: var(--qr-one);
|
804 | + grid-area: qr;
|
|
800 | 805 | }
|
801 | 806 | |
802 | -#bridgeQr-onionBox {
|
|
803 | - position: absolute;
|
|
804 | - width: 70px;
|
|
805 | - height: 70px;
|
|
806 | - top: calc(50% - 35px);
|
|
807 | - left: calc(50% - 35px);
|
|
808 | - background-color: var(--qr-zero);
|
|
809 | -}
|
|
810 | - |
|
811 | -#bridgeQr-onion {
|
|
812 | - position: absolute;
|
|
813 | - width: 38px;
|
|
814 | - height: 38px;
|
|
815 | - top: calc(50% - 19px);
|
|
816 | - left: calc(50% - 19px);
|
|
817 | - mask: url("chrome://browser/content/torpreferences/bridge-qr-onion-mask.svg");
|
|
818 | - mask-repeat: no-repeat;
|
|
819 | - mask-size: 38px;
|
|
820 | - background: var(--qr-one);
|
|
807 | +#bridgeQr-icon {
|
|
808 | + /* Share the same grid area as #bridgeQr-target. */
|
|
809 | + grid-area: qr;
|
|
810 | + content: url("chrome://browser/content/torpreferences/bridge.svg");
|
|
811 | + padding: 10px;
|
|
812 | + border-radius: 8px;
|
|
813 | + box-sizing: content-box;
|
|
814 | + width: 52px;
|
|
815 | + height: 52px;
|
|
816 | + background: var(--qr-zero);
|
|
817 | + -moz-context-properties: fill;
|
|
818 | + fill: var(--qr-one);
|
|
821 | 819 | }
|
822 | 820 | |
823 | 821 | /* Lox invite dialog */
|
... | ... | @@ -29,7 +29,6 @@ browser.jar: |
29 | 29 | content/browser/torpreferences/connectionPane.js (content/connectionPane.js)
|
30 | 30 | content/browser/torpreferences/connectionPane.xhtml (content/connectionPane.xhtml)
|
31 | 31 | content/browser/torpreferences/torPreferences.css (content/torPreferences.css)
|
32 | - content/browser/torpreferences/bridge-qr-onion-mask.svg (content/bridge-qr-onion-mask.svg)
|
|
33 | 32 | content/browser/torpreferences/bridgemoji/BridgeEmoji.js (content/bridgemoji/BridgeEmoji.js)
|
34 | 33 | content/browser/torpreferences/bridgemoji/bridge-emojis.json (content/bridgemoji/bridge-emojis.json)
|
35 | 34 | content/browser/torpreferences/bridgemoji/annotations.json (content/bridgemoji/annotations.json)
|