[tbb-commits] [tor-browser/tor-browser-68.8.0esr-9.5-1] Bug 34196: Update site info URL with the onion name
sysrqb at torproject.org
sysrqb at torproject.org
Thu May 14 22:56:36 UTC 2020
commit 00f5a4c995a911423e10af5a2bbeceef1ae76be6
Author: Alex Catarineu <acat at torproject.org>
Date: Wed May 13 11:13:24 2020 +0200
Bug 34196: Update site info URL with the onion name
---
browser/base/content/browser-siteIdentity.js | 12 +++++++-----
browser/base/content/browser.js | 3 ++-
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/browser/base/content/browser-siteIdentity.js b/browser/base/content/browser-siteIdentity.js
index 32e939787fb7..d1cbf8708dfc 100644
--- a/browser/base/content/browser-siteIdentity.js
+++ b/browser/base/content/browser-siteIdentity.js
@@ -464,13 +464,13 @@ var gIdentityHandler = {
* nsIURI for which the identity UI should be displayed, already
* processed by nsIURIFixup.createExposableURI.
*/
- updateIdentity(state, uri) {
+ updateIdentity(state, uri, onionAliasURI) {
let shouldHidePopup = this._uri && this._uri.spec != uri.spec;
this._state = state;
// Firstly, populate the state properties required to display the UI. See
// the documentation of the individual properties for details.
- this.setURI(uri);
+ this.setURI(uri, onionAliasURI);
this._secInfo = gBrowser.securityUI.secInfo;
// Then, update the user interface with the available data.
@@ -549,17 +549,18 @@ var gIdentityHandler = {
* Attempt to provide proper IDN treatment for host names
*/
getEffectiveHost() {
+ let uri = this._onionAliasURI || this._uri;
if (!this._IDNService) {
this._IDNService = Cc["@mozilla.org/network/idn-service;1"].getService(
Ci.nsIIDNService
);
}
try {
- return this._IDNService.convertToDisplayIDN(this._uri.host, {});
+ return this._IDNService.convertToDisplayIDN(uri.host, {});
} catch (e) {
// If something goes wrong (e.g. host is an IP address) just fail back
// to the full domain.
- return this._uri.host;
+ return uri.host;
}
},
@@ -984,8 +985,9 @@ var gIdentityHandler = {
ContentBlocking.toggleReportBreakageButton();
},
- setURI(uri) {
+ setURI(uri, onionAliasURI) {
this._uri = uri;
+ this._onionAliasURI = onionAliasURI;
try {
// Account for file: urls and catch when "" is the value
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index 67a1977fef6a..251b11dda03f 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -6083,6 +6083,7 @@ var XULBrowserWindow = {
// Don't need to do anything if the data we use to update the UI hasn't
// changed
let uri = gBrowser.currentURI;
+ let onionAliasURI = gBrowser.selectedBrowser.currentOnionAliasURI;
let spec = uri.spec;
if (this._state == aState && this._lastLocation == spec) {
// Switching to a tab of the same URL doesn't change most security
@@ -6100,7 +6101,7 @@ var XULBrowserWindow = {
try {
uri = Services.uriFixup.createExposableURI(uri);
} catch (e) {}
- gIdentityHandler.updateIdentity(this._state, uri);
+ gIdentityHandler.updateIdentity(this._state, uri, onionAliasURI);
},
// simulate all change notifications after switching tabs
More information about the tbb-commits
mailing list