Loading browser/components/downloads/content/contentAreaDownloadsView.js +0 −47 Original line number Diff line number Diff line Loading @@ -62,53 +62,6 @@ var ContentAreaDownloadsView = { if (!PrivateBrowsingUtils.isContentWindowPrivate(window)) { view.place = "place:transition=7&sort=4"; } torWarningMessage.querySelector( ".downloads-tor-warning-title" ).textContent = this._getTorString("torbutton.download.warning.title"); const tailsLink = document.createElement("a"); tailsLink.href = "https://tails.net/"; tailsLink.target = "_blank"; tailsLink.textContent = this._getTorString( "torbutton.download.warning.tails_brand_name" ); const [beforeLink, afterLink] = this._getTorString( "torbutton.download.warning.description" ).split("%S"); torWarningMessage .querySelector(".downloads-tor-warning-description") .append(beforeLink, tailsLink, afterLink); torWarningMessage.querySelector( ".downloads-tor-warning-dismiss-button" ).textContent = this._getTorString("torbutton.download.warning.dismiss"); }, /** * Get a string from the properties bundle. * * @param {string} name - The string name. * * @return {string} The string. */ _getTorString(name) { if (!this._stringBundle) { this._stringBundle = Services.strings.createBundle( "chrome://torbutton/locale/torbutton.properties" ); } try { return this._stringBundle.GetStringFromName(name); } catch {} if (!this._fallbackStringBundle) { this._fallbackStringBundle = Services.strings.createBundle( "resource://torbutton/locale/en-US/torbutton.properties" ); } return this._fallbackStringBundle.GetStringFromName(name); }, }; Loading browser/components/downloads/content/contentAreaDownloadsView.xhtml +27 −12 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ <linkset> <html:link rel="localization" href="toolkit/global/textActions.ftl"/> <html:link rel="localization" href="browser/downloads.ftl" /> <html:link rel="localization" href="browser/tor-browser.ftl" /> </linkset> <script src="chrome://global/content/globalOverlay.js"/> Loading @@ -36,20 +37,34 @@ </keyset> #endif <html:message-bar id="aboutDownloadsTorWarning" <html:message-bar id="aboutDownloadsTorWarning" class="downloads-tor-warning-message-bar" role="alert" aria-labelledby="aboutDownloadsTorWarningTitle" aria-describedby="aboutDownloadsTorWarningDescription"> aria-describedby="aboutDownloadsTorWarningDescription" > <html:div class="downloads-tor-warning-grid"> <html:p id="aboutDownloadsTorWarningTitle" class="downloads-tor-warning-title"> <html:p id="aboutDownloadsTorWarningTitle" class="downloads-tor-warning-title" data-l10n-id="downloads-tor-warning-title" ></html:p> <html:p id="aboutDownloadsTorWarningDescription" class="downloads-tor-warning-description" data-l10n-id="downloads-tor-warning-description" > <html:a href="https://tails.net/" target="_blank" data-l10n-name="tails-link" ></html:a> </html:p> <html:p id="aboutDownloadsTorWarningDescription" class="downloads-tor-warning-description"> </html:p> <html:button class="downloads-tor-warning-dismiss-button"> </html:button> <html:button class="downloads-tor-warning-dismiss-button" data-l10n-id="downloads-tor-warning-dismiss-button" ></html:button> </html:div> </html:message-bar> Loading browser/components/downloads/content/downloads.js +20 −53 Original line number Diff line number Diff line Loading @@ -167,36 +167,27 @@ var DownloadsPanel = { ); if (!this._torWarningInitialized) { torWarningMessage.querySelector( ".downloads-tor-warning-title" ).textContent = this._getTorString("torbutton.download.warning.title"); const tailsLink = document.createElement("a"); tailsLink.href = "https://tails.net"; tailsLink.textContent = this._getTorString( "torbutton.download.warning.tails_brand_name" // Intercept clicks on the tails link. // NOTE: We listen for clicks on the parent instead of the // <a data-l10n-name="tails-link"> element because the latter may be // swapped for a new instance by Fluent when refreshing the parent. torWarningMessage .querySelector(".downloads-tor-warning-description") .addEventListener("click", event => { const tailsLink = event.target.closest( ".downloads-tor-warning-tails-link" ); tailsLink.addEventListener("click", event => { if (!tailsLink) { return; } event.preventDefault(); this.hidePanel(); openWebLinkIn(tailsLink.href, "tab"); }); const [beforeLink, afterLink] = this._getTorString( "torbutton.download.warning.description" ).split("%S"); torWarningMessage .querySelector(".downloads-tor-warning-description") .append(beforeLink, tailsLink, afterLink); let dismissButton = torWarningMessage.querySelector( ".downloads-tor-warning-dismiss-button" ); dismissButton.textContent = this._getTorString( "torbutton.download.warning.dismiss" ); dismissButton.addEventListener("click", event => { .querySelector(".downloads-tor-warning-dismiss-button") .addEventListener("click", event => { Services.prefs.setBoolPref(PREF_SHOW_DOWNLOAD_WARNING, false); }); this._torWarningInitialized = true; Loading Loading @@ -725,30 +716,6 @@ var DownloadsPanel = { } }, 0); }, /** * Get a string from the properties bundle. * * @param {string} name - The string name. * * @return {string} The string. */ _getTorString(name) { if (!this._stringBundle) { this._stringBundle = Services.strings.createBundle( "chrome://torbutton/locale/torbutton.properties" ); } try { return this._stringBundle.GetStringFromName(name); } catch {} if (!this._fallbackStringBundle) { this._fallbackStringBundle = Services.strings.createBundle( "resource://torbutton/locale/en-US/torbutton.properties" ); } return this._fallbackStringBundle.GetStringFromName(name); }, }; XPCOMUtils.defineConstant(this, "DownloadsPanel", DownloadsPanel); Loading browser/components/downloads/content/downloadsPanel.inc.xhtml +24 −11 Original line number Diff line number Diff line Loading @@ -125,19 +125,32 @@ <panelview id="downloadsPanel-mainView"> <vbox id="downloadsPanelTorWarning"> <vbox role="alert" <vbox role="alert" aria-labelledby="downloadsPanelTorWarningTitle" aria-describedby="downloadsPanelTorWarningDescription"> <html:p id="downloadsPanelTorWarningTitle" class="downloads-tor-warning-title"> aria-describedby="downloadsPanelTorWarningDescription" > <html:p id="downloadsPanelTorWarningTitle" class="downloads-tor-warning-title" data-l10n-id="downloads-tor-warning-title" ></html:p> <html:p id="downloadsPanelTorWarningDescription" class="downloads-tor-warning-description" data-l10n-id="downloads-tor-warning-description" > <html:a href="https://tails.net/" data-l10n-name="tails-link" class="downloads-tor-warning-tails-link" ></html:a> </html:p> <html:p id="downloadsPanelTorWarningDescription" class="downloads-tor-warning-description"> </html:p> <html:div class="panel-footer"> <html:button class="downloads-tor-warning-dismiss-button"> </html:button> <html:button class="downloads-tor-warning-dismiss-button" data-l10n-id="downloads-tor-warning-dismiss-button" ></html:button> </html:div> </vbox> <toolbarseparator /> Loading browser/components/places/content/places.js +15 −49 Original line number Diff line number Diff line Loading @@ -176,33 +176,23 @@ var PlacesOrganizer = { } ); // Initialize tor warning text content. torWarningMessage.querySelector( ".downloads-tor-warning-title" ).textContent = this._getTorString("torbutton.download.warning.title"); const tailsLink = document.createElement("a"); tailsLink.href = "https://tails.net/"; tailsLink.textContent = this._getTorString( "torbutton.download.warning.tails_brand_name" // Intercept clicks on the tor warning tails link. // NOTE: We listen for clicks on the parent instead of the // <a data-l10n-name="tails-link"> element because the latter may be // swapped for a new instance by Fluent when refreshing the parent. document .querySelector(".downloads-tor-warning-description") .addEventListener("click", event => { const tailsLink = event.target.closest( ".downloads-tor-warning-tails-link" ); tailsLink.addEventListener("click", event => { if (!tailsLink) { return; } event.preventDefault(); openWebLinkIn(tailsLink.href, "tab"); }); const [beforeLink, afterLink] = this._getTorString( "torbutton.download.warning.description" ).split("%S"); torWarningMessage .querySelector(".downloads-tor-warning-description") .append(beforeLink, tailsLink, afterLink); torWarningMessage.querySelector( ".downloads-tor-warning-dismiss-button" ).textContent = this._getTorString("torbutton.download.warning.dismiss"); ContentArea.init(); this._places = document.getElementById("placesList"); Loading Loading @@ -274,30 +264,6 @@ var PlacesOrganizer = { ContentArea.focus(); }, /** * Get a string from the properties bundle. * * @param {string} name - The string name. * * @returns {string} The string. */ _getTorString(name) { if (!this._stringBundle) { this._stringBundle = Services.strings.createBundle( "chrome://torbutton/locale/torbutton.properties" ); } try { return this._stringBundle.GetStringFromName(name); } catch {} if (!this._fallbackStringBundle) { this._fallbackStringBundle = Services.strings.createBundle( "resource://torbutton/locale/en-US/torbutton.properties" ); } return this._fallbackStringBundle.GetStringFromName(name); }, QueryInterface: ChromeUtils.generateQI([]), handleEvent: function PO_handleEvent(aEvent) { Loading Loading
browser/components/downloads/content/contentAreaDownloadsView.js +0 −47 Original line number Diff line number Diff line Loading @@ -62,53 +62,6 @@ var ContentAreaDownloadsView = { if (!PrivateBrowsingUtils.isContentWindowPrivate(window)) { view.place = "place:transition=7&sort=4"; } torWarningMessage.querySelector( ".downloads-tor-warning-title" ).textContent = this._getTorString("torbutton.download.warning.title"); const tailsLink = document.createElement("a"); tailsLink.href = "https://tails.net/"; tailsLink.target = "_blank"; tailsLink.textContent = this._getTorString( "torbutton.download.warning.tails_brand_name" ); const [beforeLink, afterLink] = this._getTorString( "torbutton.download.warning.description" ).split("%S"); torWarningMessage .querySelector(".downloads-tor-warning-description") .append(beforeLink, tailsLink, afterLink); torWarningMessage.querySelector( ".downloads-tor-warning-dismiss-button" ).textContent = this._getTorString("torbutton.download.warning.dismiss"); }, /** * Get a string from the properties bundle. * * @param {string} name - The string name. * * @return {string} The string. */ _getTorString(name) { if (!this._stringBundle) { this._stringBundle = Services.strings.createBundle( "chrome://torbutton/locale/torbutton.properties" ); } try { return this._stringBundle.GetStringFromName(name); } catch {} if (!this._fallbackStringBundle) { this._fallbackStringBundle = Services.strings.createBundle( "resource://torbutton/locale/en-US/torbutton.properties" ); } return this._fallbackStringBundle.GetStringFromName(name); }, }; Loading
browser/components/downloads/content/contentAreaDownloadsView.xhtml +27 −12 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ <linkset> <html:link rel="localization" href="toolkit/global/textActions.ftl"/> <html:link rel="localization" href="browser/downloads.ftl" /> <html:link rel="localization" href="browser/tor-browser.ftl" /> </linkset> <script src="chrome://global/content/globalOverlay.js"/> Loading @@ -36,20 +37,34 @@ </keyset> #endif <html:message-bar id="aboutDownloadsTorWarning" <html:message-bar id="aboutDownloadsTorWarning" class="downloads-tor-warning-message-bar" role="alert" aria-labelledby="aboutDownloadsTorWarningTitle" aria-describedby="aboutDownloadsTorWarningDescription"> aria-describedby="aboutDownloadsTorWarningDescription" > <html:div class="downloads-tor-warning-grid"> <html:p id="aboutDownloadsTorWarningTitle" class="downloads-tor-warning-title"> <html:p id="aboutDownloadsTorWarningTitle" class="downloads-tor-warning-title" data-l10n-id="downloads-tor-warning-title" ></html:p> <html:p id="aboutDownloadsTorWarningDescription" class="downloads-tor-warning-description" data-l10n-id="downloads-tor-warning-description" > <html:a href="https://tails.net/" target="_blank" data-l10n-name="tails-link" ></html:a> </html:p> <html:p id="aboutDownloadsTorWarningDescription" class="downloads-tor-warning-description"> </html:p> <html:button class="downloads-tor-warning-dismiss-button"> </html:button> <html:button class="downloads-tor-warning-dismiss-button" data-l10n-id="downloads-tor-warning-dismiss-button" ></html:button> </html:div> </html:message-bar> Loading
browser/components/downloads/content/downloads.js +20 −53 Original line number Diff line number Diff line Loading @@ -167,36 +167,27 @@ var DownloadsPanel = { ); if (!this._torWarningInitialized) { torWarningMessage.querySelector( ".downloads-tor-warning-title" ).textContent = this._getTorString("torbutton.download.warning.title"); const tailsLink = document.createElement("a"); tailsLink.href = "https://tails.net"; tailsLink.textContent = this._getTorString( "torbutton.download.warning.tails_brand_name" // Intercept clicks on the tails link. // NOTE: We listen for clicks on the parent instead of the // <a data-l10n-name="tails-link"> element because the latter may be // swapped for a new instance by Fluent when refreshing the parent. torWarningMessage .querySelector(".downloads-tor-warning-description") .addEventListener("click", event => { const tailsLink = event.target.closest( ".downloads-tor-warning-tails-link" ); tailsLink.addEventListener("click", event => { if (!tailsLink) { return; } event.preventDefault(); this.hidePanel(); openWebLinkIn(tailsLink.href, "tab"); }); const [beforeLink, afterLink] = this._getTorString( "torbutton.download.warning.description" ).split("%S"); torWarningMessage .querySelector(".downloads-tor-warning-description") .append(beforeLink, tailsLink, afterLink); let dismissButton = torWarningMessage.querySelector( ".downloads-tor-warning-dismiss-button" ); dismissButton.textContent = this._getTorString( "torbutton.download.warning.dismiss" ); dismissButton.addEventListener("click", event => { .querySelector(".downloads-tor-warning-dismiss-button") .addEventListener("click", event => { Services.prefs.setBoolPref(PREF_SHOW_DOWNLOAD_WARNING, false); }); this._torWarningInitialized = true; Loading Loading @@ -725,30 +716,6 @@ var DownloadsPanel = { } }, 0); }, /** * Get a string from the properties bundle. * * @param {string} name - The string name. * * @return {string} The string. */ _getTorString(name) { if (!this._stringBundle) { this._stringBundle = Services.strings.createBundle( "chrome://torbutton/locale/torbutton.properties" ); } try { return this._stringBundle.GetStringFromName(name); } catch {} if (!this._fallbackStringBundle) { this._fallbackStringBundle = Services.strings.createBundle( "resource://torbutton/locale/en-US/torbutton.properties" ); } return this._fallbackStringBundle.GetStringFromName(name); }, }; XPCOMUtils.defineConstant(this, "DownloadsPanel", DownloadsPanel); Loading
browser/components/downloads/content/downloadsPanel.inc.xhtml +24 −11 Original line number Diff line number Diff line Loading @@ -125,19 +125,32 @@ <panelview id="downloadsPanel-mainView"> <vbox id="downloadsPanelTorWarning"> <vbox role="alert" <vbox role="alert" aria-labelledby="downloadsPanelTorWarningTitle" aria-describedby="downloadsPanelTorWarningDescription"> <html:p id="downloadsPanelTorWarningTitle" class="downloads-tor-warning-title"> aria-describedby="downloadsPanelTorWarningDescription" > <html:p id="downloadsPanelTorWarningTitle" class="downloads-tor-warning-title" data-l10n-id="downloads-tor-warning-title" ></html:p> <html:p id="downloadsPanelTorWarningDescription" class="downloads-tor-warning-description" data-l10n-id="downloads-tor-warning-description" > <html:a href="https://tails.net/" data-l10n-name="tails-link" class="downloads-tor-warning-tails-link" ></html:a> </html:p> <html:p id="downloadsPanelTorWarningDescription" class="downloads-tor-warning-description"> </html:p> <html:div class="panel-footer"> <html:button class="downloads-tor-warning-dismiss-button"> </html:button> <html:button class="downloads-tor-warning-dismiss-button" data-l10n-id="downloads-tor-warning-dismiss-button" ></html:button> </html:div> </vbox> <toolbarseparator /> Loading
browser/components/places/content/places.js +15 −49 Original line number Diff line number Diff line Loading @@ -176,33 +176,23 @@ var PlacesOrganizer = { } ); // Initialize tor warning text content. torWarningMessage.querySelector( ".downloads-tor-warning-title" ).textContent = this._getTorString("torbutton.download.warning.title"); const tailsLink = document.createElement("a"); tailsLink.href = "https://tails.net/"; tailsLink.textContent = this._getTorString( "torbutton.download.warning.tails_brand_name" // Intercept clicks on the tor warning tails link. // NOTE: We listen for clicks on the parent instead of the // <a data-l10n-name="tails-link"> element because the latter may be // swapped for a new instance by Fluent when refreshing the parent. document .querySelector(".downloads-tor-warning-description") .addEventListener("click", event => { const tailsLink = event.target.closest( ".downloads-tor-warning-tails-link" ); tailsLink.addEventListener("click", event => { if (!tailsLink) { return; } event.preventDefault(); openWebLinkIn(tailsLink.href, "tab"); }); const [beforeLink, afterLink] = this._getTorString( "torbutton.download.warning.description" ).split("%S"); torWarningMessage .querySelector(".downloads-tor-warning-description") .append(beforeLink, tailsLink, afterLink); torWarningMessage.querySelector( ".downloads-tor-warning-dismiss-button" ).textContent = this._getTorString("torbutton.download.warning.dismiss"); ContentArea.init(); this._places = document.getElementById("placesList"); Loading Loading @@ -274,30 +264,6 @@ var PlacesOrganizer = { ContentArea.focus(); }, /** * Get a string from the properties bundle. * * @param {string} name - The string name. * * @returns {string} The string. */ _getTorString(name) { if (!this._stringBundle) { this._stringBundle = Services.strings.createBundle( "chrome://torbutton/locale/torbutton.properties" ); } try { return this._stringBundle.GetStringFromName(name); } catch {} if (!this._fallbackStringBundle) { this._fallbackStringBundle = Services.strings.createBundle( "resource://torbutton/locale/en-US/torbutton.properties" ); } return this._fallbackStringBundle.GetStringFromName(name); }, QueryInterface: ChromeUtils.generateQI([]), handleEvent: function PO_handleEvent(aEvent) { Loading