tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 56f574eb42901fed95f7c05308bdd32f64afea54
parent 062a96792964af742a56713e264c2c2ba900ea1b
Author: agoloman <agoloman@mozilla.com>
Date:   Wed, 17 Dec 2025 03:50:15 +0200

Revert "Bug 2000740 - Updated Windows stub installer brand assets and styles. r=browser-installer-reviewers,bolsson,cdupuis" for causing xpc failures @test_stub_installer.js.

This reverts commit f7ff201b5daf7b7d45b15be857d44cf6eee0e225.

Diffstat:
Mbrowser/branding/aurora/stubinstaller/bgstub.jpg | 0
Mbrowser/branding/aurora/stubinstaller/installing_page.css | 20+++++++++++++++-----
Mbrowser/branding/aurora/stubinstaller/profile_cleanup_page.css | 7+++++++
Mbrowser/branding/nightly/stubinstaller/bgstub.jpg | 0
Mbrowser/branding/nightly/stubinstaller/installing_page.css | 20+++++++++++++++-----
Mbrowser/branding/nightly/stubinstaller/profile_cleanup_page.css | 7+++++++
Mbrowser/branding/official/stubinstaller/bgstub.jpg | 0
Mbrowser/branding/official/stubinstaller/installing_page.css | 75+++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------
Mbrowser/branding/official/stubinstaller/profile_cleanup_page.css | 66+++++++++++++++++++++++++++++++++++++++++++++++++++++-------------
Mbrowser/branding/unofficial/stubinstaller/bgstub.jpg | 0
Mbrowser/branding/unofficial/stubinstaller/installing_page.css | 20+++++++++++++++-----
Mbrowser/branding/unofficial/stubinstaller/profile_cleanup_page.css | 7+++++++
Mbrowser/installer/windows/nsis/content/installing.html | 34++++++++++++++++++++++------------
Mbrowser/installer/windows/nsis/content/installing.js | 9+++++++--
Mbrowser/installer/windows/nsis/content/profile_cleanup.html | 18+++++++++++-------
Mbrowser/installer/windows/nsis/content/profile_cleanup.js | 1+
Mbrowser/installer/windows/nsis/content/stub_common.js | 6++++++
Mbrowser/installer/windows/nsis/stub.nsh | 42++++++++++++++++++------------------------
Mbrowser/locales/en-US/installer/nsisstrings.properties | 34+++++++++++++++++-----------------
19 files changed, 256 insertions(+), 110 deletions(-)

diff --git a/browser/branding/aurora/stubinstaller/bgstub.jpg b/browser/branding/aurora/stubinstaller/bgstub.jpg Binary files differ. diff --git a/browser/branding/aurora/stubinstaller/installing_page.css b/browser/branding/aurora/stubinstaller/installing_page.css @@ -23,9 +23,7 @@ body { margin: 0 auto; width: 60%; height: 24px; - background-color: #f5cbf6; - border-radius: 8px; - padding: 3px; + background-color: white; } body.high-contrast #progress_background { @@ -37,8 +35,7 @@ body.high-contrast #progress_background { width: 0%; max-width: 100%; height: 100%; - background-color: #7543e3; - border-radius: 6px; + background-color: #00aaff; } /* In high contrast mode, fill the entire progress bar with its border. */ @@ -48,6 +45,19 @@ body.high-contrast #progress_bar { box-sizing: border-box; } +/* This layout doesn't want the header or content text. */ +#header, +#content { + display: none; +} + #blurb { font-size: 20px; } + +/* The footer goes in the bottom right corner. */ +#footer { + position: fixed; + right: 50px; + bottom: 59px; +} diff --git a/browser/branding/aurora/stubinstaller/profile_cleanup_page.css b/browser/branding/aurora/stubinstaller/profile_cleanup_page.css @@ -33,3 +33,10 @@ body { padding: 8px 40px; font-size: 15px; } + +/* The footer goes in the bottom right corner. */ +#footer { + position: fixed; + right: 50px; + bottom: 59px; +} diff --git a/browser/branding/nightly/stubinstaller/bgstub.jpg b/browser/branding/nightly/stubinstaller/bgstub.jpg Binary files differ. diff --git a/browser/branding/nightly/stubinstaller/installing_page.css b/browser/branding/nightly/stubinstaller/installing_page.css @@ -23,9 +23,7 @@ body { margin: 0 auto; width: 60%; height: 24px; - background-color: #f5cbf6; - border-radius: 8px; - padding: 3px; + background-color: white; } body.high-contrast #progress_background { @@ -36,8 +34,7 @@ body.high-contrast #progress_background { margin: 0; width: 0%; height: 100%; - background-color: #7543e3; - border-radius: 6px; + background-color: #00aaff; } /* In high contrast mode, fill the entire progress bar with its border. */ @@ -47,6 +44,19 @@ body.high-contrast #progress_bar { box-sizing: border-box; } +/* This layout doesn't want the header or content text. */ +#header, +#content { + display: none; +} + #blurb { font-size: 20px; } + +/* The footer goes in the bottom right corner. */ +#footer { + position: fixed; + right: 50px; + bottom: 59px; +} diff --git a/browser/branding/nightly/stubinstaller/profile_cleanup_page.css b/browser/branding/nightly/stubinstaller/profile_cleanup_page.css @@ -33,3 +33,10 @@ body { padding: 8px 40px; font-size: 15px; } + +/* The footer goes in the bottom right corner. */ +#footer { + position: fixed; + right: 50px; + bottom: 59px; +} diff --git a/browser/branding/official/stubinstaller/bgstub.jpg b/browser/branding/official/stubinstaller/bgstub.jpg Binary files differ. diff --git a/browser/branding/official/stubinstaller/installing_page.css b/browser/branding/official/stubinstaller/installing_page.css @@ -3,29 +3,63 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ body { - color: white; + color: black; } -#label, -#progress_background, -#blurb { - text-align: center; - margin: 20px 30px; +/* + * We want to treat the two pieces of text in the left column as one unit and + center that unit vertically in the window. In order to make IE8 do that, + we have to wrap the two bits of text in a container and make that a + table-cell (which means we need an outer container that's display: table). + So that's what this mess is doing. + */ +#text_column { + position: fixed; + height: 100%; + margin-left: 30px; + width: 40%; + display: table; +} + +#text_column_container { + display: table-cell; + vertical-align: middle; + padding-top: 60px; +} + +#header { + font-size: 24px; + font-weight: 700; + margin-top: 0; +} + +#content { + font-size: 22px; +} + +#installing { + position: fixed; + right: 30px; + bottom: 55%; + margin-top: auto; + margin-bottom: auto; + width: 35%; } #label { - font-size: 40px; - margin-top: 100px; - margin-bottom: 20px; + color: white; + + position: relative; + top: 50px; + + text-align: center; + font-size: 20px; } #progress_background { - margin: 0 auto; - width: 60%; - height: 24px; - background-color: #f5cbf6; - border-radius: 8px; - padding: 3px; + width: 100%; + height: 20px; + background-color: white; } body.high-contrast #progress_background { @@ -36,17 +70,18 @@ body.high-contrast #progress_background { margin: 0; width: 0%; height: 100%; - background-color: #7543e3; - border-radius: 6px; + background-color: #00aaff; } /* In high contrast mode, fill the entire progress bar with its border. */ body.high-contrast #progress_bar { /* This border should be the height of progress_background. */ - border-top: 24px solid; + border-top: 20px solid; box-sizing: border-box; } -#blurb { - font-size: 20px; +/* No blurb or footer for this layout. */ +#blurb, +#footer { + visibility: hidden; } diff --git a/browser/branding/official/stubinstaller/profile_cleanup_page.css b/browser/branding/official/stubinstaller/profile_cleanup_page.css @@ -3,33 +3,73 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ body { - color: white; + color: black; +} + +/* + * We want to treat the two pieces of text in the left column as one unit and + center that unit vertically in the window. In order to make IE8 do that, + we have to wrap the two bits of text in a container and make that a + table-cell (which means we need an outer container that's display: table). + So that's what this mess is doing. + */ +#profileRefreshForm { + position: fixed; + height: 100%; + margin-left: 30px; + width: 40%; + display: table; +} + +#profileRefreshContainer { + display: table-cell; + vertical-align: middle; } -#header, #refreshCheckboxContainer, #refreshButtonContainer { - text-align: center; - margin-left: 40px; - margin-right: 40px; - margin-bottom: 30px; + margin-top: 20px; } #header { - font-size: 35px; - font-weight: normal; - margin-top: 45px; + font-size: 25px; + font-weight: 600; +} + +#refreshCheckboxContainer { + position: relative; } #refreshCheckbox { - vertical-align: middle; + position: absolute; + top: 1px; } #checkboxLabel { - font-size: 13px; + font-size: 14px; + display: block; +} + +.checkboxLabel-ltr { + margin-left: 25px; +} + +.checkboxLabel-rtl { + margin-right: 25px; } #refreshButton { - padding: 8px 40px; - font-size: 15px; + padding: 8px 70px; + font-size: 16px; + background: #005ccc; + color: white; +} + +body.normal-contrast #refreshButton { + border: none; +} + +/* No footer for this layout. */ +#footer { + visibility: hidden; } diff --git a/browser/branding/unofficial/stubinstaller/bgstub.jpg b/browser/branding/unofficial/stubinstaller/bgstub.jpg Binary files differ. diff --git a/browser/branding/unofficial/stubinstaller/installing_page.css b/browser/branding/unofficial/stubinstaller/installing_page.css @@ -23,9 +23,7 @@ body { margin: 0 auto; width: 60%; height: 24px; - background-color: #f5cbf6; - border-radius: 8px; - padding: 3px; + background-color: white; } body.high-contrast #progress_background { @@ -36,8 +34,7 @@ body.high-contrast #progress_background { margin: 0; width: 0%; height: 100%; - background-color: #7543e3; - border-radius: 6px; + background-color: #00aaff; } /* In high contrast mode, fill the entire progress bar with its border. */ @@ -47,6 +44,19 @@ body.high-contrast #progress_bar { box-sizing: border-box; } +/* This layout doesn't want the header or content text. */ +#header, +#content { + display: none; +} + #blurb { font-size: 20px; } + +/* The footer goes in the bottom right corner. */ +#footer { + position: fixed; + right: 50px; + bottom: 60px; +} diff --git a/browser/branding/unofficial/stubinstaller/profile_cleanup_page.css b/browser/branding/unofficial/stubinstaller/profile_cleanup_page.css @@ -33,3 +33,10 @@ body { padding: 8px 40px; font-size: 15px; } + +/* The footer goes in the bottom right corner. */ +#footer { + position: fixed; + right: 50px; + bottom: 59px; +} diff --git a/browser/installer/windows/nsis/content/installing.html b/browser/installer/windows/nsis/content/installing.html @@ -18,20 +18,30 @@ <body> <img id="background" src="bgstub.jpg" alt="" role="presentation" /> - <div id="label" tabindex="0"></div> - - <div id="progress_background"> - <div - id="progress_bar" - role="progressbar" - aria-labelledby="label" - aria-valuemin="0" - aria-valuemax="100" - aria-valuenow="0" - tabindex="0" - ></div> + <div id="text_column"> + <div id="text_column_container"> + <h1 id="header"></h1> + <div id="content"></div> + </div> + </div> + + <div id="installing"> + <div id="label" tabindex="0"></div> + <div id="progress_background"> + <div + id="progress_bar" + role="progressbar" + aria-labelledby="label" + aria-valuemin="0" + aria-valuemax="100" + aria-valuenow="0" + tabindex="0" + ></div> + </div> </div> <div id="blurb"></div> + + <div id="footer"></div> </body> </html> diff --git a/browser/installer/windows/nsis/content/installing.js b/browser/installer/windows/nsis/content/installing.js @@ -10,13 +10,18 @@ var BLURB_CYCLE_MS = 20000; var PROGRESS_BAR_INTERVAL_MS = 250; window.attachEvent("onload", function () { - // Set direction on the page body. + // Set direction on the two components of the layout. var direction = external.getTextDirection(); - document.body.style.direction = direction; + document.getElementById("text_column").style.direction = direction; + document.getElementById("installing").style.direction = direction; // Get this page's static strings. var label = document.getElementById("label"); label.innerText = external.getUIString("installing_label"); + document.getElementById("header").innerText = + external.getUIString("installing_header"); + document.getElementById("content").innerText = + external.getUIString("installing_content"); // Poll and update the progress bar percentage. setInterval(function () { diff --git a/browser/installer/windows/nsis/content/profile_cleanup.html b/browser/installer/windows/nsis/content/profile_cleanup.html @@ -19,16 +19,20 @@ <img id="background" src="bgstub.jpg" alt="" role="presentation" /> <form id="profileRefreshForm"> - <h1 id="header"></h1> + <div id="profileRefreshContainer"> + <h1 id="header"></h1> - <div id="refreshCheckboxContainer"> - <input id="refreshCheckbox" type="checkbox" checked /> - <label id="checkboxLabel" for="refreshCheckbox"></label> - </div> + <div id="refreshCheckboxContainer"> + <input id="refreshCheckbox" type="checkbox" checked /> + <label id="checkboxLabel" for="refreshCheckbox"></label> + </div> - <div id="refreshButtonContainer"> - <button type="submit" id="refreshButton"></button> + <div id="refreshButtonContainer"> + <button type="submit" id="refreshButton"></button> + </div> </div> </form> + + <div id="footer"></div> </body> </html> diff --git a/browser/installer/windows/nsis/content/profile_cleanup.js b/browser/installer/windows/nsis/content/profile_cleanup.js @@ -8,6 +8,7 @@ window.attachEvent("onload", function () { var profileRefreshForm = document.getElementById("profileRefreshForm"); profileRefreshForm.style.direction = direction; var checkboxLabel = document.getElementById("checkboxLabel"); + checkboxLabel.className += " checkboxLabel-" + direction; // Get this page's static strings. document.getElementById("header").innerText = diff --git a/browser/installer/windows/nsis/content/stub_common.js b/browser/installer/windows/nsis/content/stub_common.js @@ -5,10 +5,16 @@ window.attachEvent("onload", function () { if (parseInt(external.getIsHighContrast())) { document.body.className += " high-contrast"; + } else { + document.body.className += " normal-contrast"; } document.body.style.fontFamily = external.getFontName() + ", sans-serif"; + // All pages have the global footer (or don't, depending on the branding). + document.getElementById("footer").innerText = + external.getUIString("global_footer"); + // Disallow dragging of the "background" image. document.getElementById("background").attachEvent("ondragstart", function () { return false; diff --git a/browser/installer/windows/nsis/stub.nsh b/browser/installer/windows/nsis/stub.nsh @@ -372,9 +372,9 @@ Function getUIString ${Select} $0 ${Case} "cleanup_header" ${If} $ProfileCleanupPromptType == 1 - Push "$(STUB_CLEANUP_REINSTALL_HEADER3)" + Push "$(STUB_CLEANUP_REINSTALL_HEADER2)" ${Else} - Push "$(STUB_CLEANUP_PAVEOVER_HEADER3)" + Push "$(STUB_CLEANUP_PAVEOVER_HEADER2)" ${EndIf} ${Case} "cleanup_button" ${If} $ProfileCleanupPromptType == 1 @@ -383,27 +383,21 @@ Function getUIString Push "$(STUB_CLEANUP_PAVEOVER_BUTTON2)" ${EndIf} ${Case} "cleanup_checkbox" - Push "$(STUB_CLEANUP_CHECKBOX_LABEL3)" + Push "$(STUB_CLEANUP_CHECKBOX_LABEL2)" + ${Case} "installing_header" + Push "$(STUB_INSTALLING_HEADLINE2)" ${Case} "installing_label" Push "$(STUB_INSTALLING_LABEL2)" + ${Case} "installing_content" + Push "$(STUB_INSTALLING_BODY2)" ${Case} "installing_blurb_0" - !ifdef DEV_EDITION - Push "$(STUB_BLURB_FIRST2_DEVEDITION)" - !else - Push "$(STUB_BLURB_FIRST2)" - !endif + Push "$(STUB_BLURB_FIRST1)" ${Case} "installing_blurb_1" - !ifdef DEV_EDITION - Push "$(STUB_BLURB_SECOND2_DEVEDITION)" - !else - Push "$(STUB_BLURB_SECOND2)" - !endif + Push "$(STUB_BLURB_SECOND1)" ${Case} "installing_blurb_2" - !ifdef DEV_EDITION - Push "$(STUB_BLURB_THIRD2_DEVEDITION)" - !else - Push "$(STUB_BLURB_THIRD2)" - !endif + Push "$(STUB_BLURB_THIRD1)" + ${Case} "global_footer" + Push "$(STUB_BLURB_FOOTER2)" ${Default} Push "" ${EndSelect} @@ -1231,7 +1225,7 @@ Function DisplayDownloadError ${ITBL3SetProgressValue} "100" "100" ${ITBL3SetProgressState} "${TBPF_ERROR}" - MessageBox MB_OKCANCEL|MB_ICONSTOP "$(ERROR_DOWNLOAD_CONT2)" IDCANCEL +2 IDOK +1 + MessageBox MB_OKCANCEL|MB_ICONSTOP "$(ERROR_DOWNLOAD_CONT)" IDCANCEL +2 IDOK +1 Call LaunchHelpPage Call SendPing FunctionEnd @@ -1575,9 +1569,9 @@ Function CommonOnInit ${Unless} ${AtLeastWin10} StrCpy $ExitCode "${ERR_PREINSTALL_SYS_OS_REQ}" ${If} "$CpuSupportsSSE" == "0" - strCpy $R7 "$(WARN_MIN_SUPPORTED_OSVER_CPU_MSG2)" + strCpy $R7 "$(WARN_MIN_SUPPORTED_OSVER_CPU_MSG)" ${Else} - strCpy $R7 "$(WARN_MIN_SUPPORTED_OSVER_MSG2)" + strCpy $R7 "$(WARN_MIN_SUPPORTED_OSVER_MSG)" ${EndIf} MessageBox MB_OKCANCEL|MB_ICONSTOP "$R7" /SD IDCANCEL IDCANCEL +2 ExecShell "open" "${URLWinPre10NeedsEsr115}" @@ -1588,7 +1582,7 @@ Function CommonOnInit ; SSE2 CPU support ${If} "$CpuSupportsSSE" == "0" StrCpy $ExitCode "${ERR_PREINSTALL_SYS_HW_REQ}" - MessageBox MB_OKCANCEL|MB_ICONSTOP "$(WARN_MIN_SUPPORTED_CPU_MSG2)" /SD IDCANCEL IDCANCEL +2 + MessageBox MB_OKCANCEL|MB_ICONSTOP "$(WARN_MIN_SUPPORTED_CPU_MSG)" /SD IDCANCEL IDCANCEL +2 ExecShell "open" "${URLSystemRequirements}" StrCpy $AbortInstallation "true" Return @@ -1734,7 +1728,7 @@ Function CommonOnInit Call CanWrite ${If} "$CanWriteToInstallDir" == "false" StrCpy $ExitCode "${ERR_PREINSTALL_NOT_WRITABLE}" - MessageBox MB_OK|MB_ICONEXCLAMATION "$(WARN_WRITE_ACCESS_QUIT2)$\n$\n$INSTDIR" /SD IDOK + MessageBox MB_OK|MB_ICONEXCLAMATION "$(WARN_WRITE_ACCESS_QUIT)$\n$\n$INSTDIR" /SD IDOK StrCpy $AbortInstallation "true" Return ${EndIf} @@ -1744,7 +1738,7 @@ Function CommonOnInit Call CheckSpace ${If} "$HasRequiredSpaceAvailable" == "false" StrCpy $ExitCode "${ERR_PREINSTALL_SPACE}" - MessageBox MB_OK|MB_ICONEXCLAMATION "$(WARN_DISK_SPACE_QUIT2)" + MessageBox MB_OK|MB_ICONEXCLAMATION "$(WARN_DISK_SPACE_QUIT)" StrCpy $AbortInstallation "true" Return ${EndIf} diff --git a/browser/locales/en-US/installer/nsisstrings.properties b/browser/locales/en-US/installer/nsisstrings.properties @@ -18,27 +18,27 @@ INSTALLER_WIN_CAPTION=$BrandShortName Installer -STUB_CLEANUP_PAVEOVER_HEADER3=You already installed $BrandShortName. Let’s power up with the latest version. -STUB_CLEANUP_REINSTALL_HEADER3=You already installed $BrandShortName. Let’s get you a fresh copy. +STUB_CLEANUP_PAVEOVER_HEADER2=$BrandShortName is already installed. Let’s update it. +STUB_CLEANUP_REINSTALL_HEADER2=$BrandShortName has been installed before. Let’s get you a new copy. STUB_CLEANUP_PAVEOVER_BUTTON2=Update STUB_CLEANUP_REINSTALL_BUTTON2=Re-install -STUB_CLEANUP_CHECKBOX_LABEL3=Clean up and speed up. Go back to default settings and delete old add-ons. +STUB_CLEANUP_CHECKBOX_LABEL2=Restore default settings and remove old add-ons for optimal performance STUB_INSTALLING_LABEL2=Now installing… -STUB_BLURB_FIRST2=Get ready to run free on the open web -STUB_BLURB_SECOND2=Speedy. Safe. Blocks trackers automatically. -STUB_BLURB_THIRD2=Thanks for building a better web with us -STUB_BLURB_FIRST2_DEVEDITION=Get ready to build for the open web -STUB_BLURB_SECOND2_DEVEDITION=Powerful. Private. Made for developers. -STUB_BLURB_THIRD2_DEVEDITION=Thank you for being part of the $BrandShortName community - -WARN_MIN_SUPPORTED_OSVER_MSG2=It looks like $BrandShortName can’t be installed. This version of $BrandShortName requires ${MinSupportedVer} or newer. Please click the OK button for additional information. -WARN_MIN_SUPPORTED_CPU_MSG2=It looks like $BrandShortName can’t be installed. This version of $BrandShortName requires a processor with ${MinSupportedCPU} support. Please click the OK button for additional information. -WARN_MIN_SUPPORTED_OSVER_CPU_MSG2=It looks like $BrandShortName can’t be installed. This version of $BrandShortName requires ${MinSupportedVer} or newer and a processor with ${MinSupportedCPU} support. Please click the OK button for additional information. -WARN_WRITE_ACCESS_QUIT2=It looks like you’re not allowed to install to that file location. -WARN_DISK_SPACE_QUIT2=It looks like you don’t have enough storage on your device to install $BrandShortName. - -ERROR_DOWNLOAD_CONT2=It looks like $BrandShortName couldn’t be installed. Choose OK to start over. +STUB_INSTALLING_HEADLINE2=Optimizing your settings for speed, privacy, and safety. +STUB_INSTALLING_BODY2=$BrandShortName will be ready in just a few moments. +STUB_BLURB_FIRST1=The fastest, most responsive $BrandShortName yet +STUB_BLURB_SECOND1=Faster page loading and tab switching +STUB_BLURB_THIRD1=Powerful private browsing +STUB_BLURB_FOOTER2=Built for people, not for profit + +WARN_MIN_SUPPORTED_OSVER_MSG=Sorry, $BrandShortName can’t be installed. This version of $BrandShortName requires ${MinSupportedVer} or newer. Please click the OK button for additional information. +WARN_MIN_SUPPORTED_CPU_MSG=Sorry, $BrandShortName can’t be installed. This version of $BrandShortName requires a processor with ${MinSupportedCPU} support. Please click the OK button for additional information. +WARN_MIN_SUPPORTED_OSVER_CPU_MSG=Sorry, $BrandShortName can’t be installed. This version of $BrandShortName requires ${MinSupportedVer} or newer and a processor with ${MinSupportedCPU} support. Please click the OK button for additional information. +WARN_WRITE_ACCESS_QUIT=You don’t have access to write to the installation directory +WARN_DISK_SPACE_QUIT=You don’t have sufficient disk space to install. + +ERROR_DOWNLOAD_CONT=Hmm. For some reason, we could not install $BrandShortName.\nChoose OK to start over. STUB_CANCEL_PROMPT_HEADING=Do you want to install $BrandShortName? STUB_CANCEL_PROMPT_MESSAGE=If you cancel, $BrandShortName will not be installed.