diff --git a/browser/base/content/browser-places.js b/browser/base/content/browser-places.js index fcaab9ede964..c9cba5bc0c75 100644 --- a/browser/base/content/browser-places.js +++ b/browser/base/content/browser-places.js @@ -128,6 +128,13 @@ var StarUI = { } this.panel.hidePopup(); break; + // This case is for catching character-generating keypresses + case 0: + let accessKey = document.getElementById("key_close"); + if (eventMatchesKey(aEvent, accessKey)) { + this.panel.hidePopup(); + } + break; } break; case "mouseout": diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index e0c737f3de71..d4adf5fc1fc4 100755 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -1367,6 +1367,15 @@ var gBrowserInit = { PanicButtonNotifier.init(); }); + + gBrowser.tabContainer.addEventListener("TabSelect", function() { + for (let panel of document.querySelectorAll("panel[tabspecific='true']")) { + if (panel.state == "open") { + panel.hidePopup(); + } + } + }); + this.delayedStartupFinished = true; Services.obs.notifyObservers(window, "browser-delayed-startup-finished", ""); @@ -6613,10 +6622,18 @@ var gIdentityHandler = { return this._identityPopupInsecureLoginFormsLearnMore = document.getElementById("identity-popup-insecure-login-forms-learn-more"); }, + get _identityIconLabels () { + delete this._identityIconLabels; + return this._identityIconLabels = document.getElementById("identity-icon-labels"); + }, get _identityIconLabel () { delete this._identityIconLabel; return this._identityIconLabel = document.getElementById("identity-icon-label"); }, + get _connectionIcon () { + delete this._connectionIcon; + return this._connectionIcon = document.getElementById("connection-icon"); + }, get _overrideService () { delete this._overrideService; return this._overrideService = Cc["@mozilla.org/security/certoverride;1"] @@ -6905,7 +6922,6 @@ var gIdentityHandler = { // pages, either already insecure or with mixed active content loaded. this._identityBox.classList.add("insecureLoginForms"); } - tooltip = gNavigatorBundle.getString("identity.unknown.tooltip"); } if (this._isCertUserOverridden) { @@ -6944,7 +6960,8 @@ var gIdentityHandler = { } // Push the appropriate strings out to the UI - this._identityBox.tooltipText = tooltip; + this._connectionIcon.tooltipText = tooltip; + this._identityIconLabels.tooltipText = tooltip; this._identityIcon.tooltipText = gNavigatorBundle.getString("identity.icon.tooltip"); this._identityIconLabel.value = icon_label; this._identityIconCountryLabel.value = icon_country_label; @@ -7103,14 +7120,14 @@ var gIdentityHandler = { // Fill in the CA name if we have a valid TLS certificate. if (this._isSecure || this._isCertUserOverridden) { - verifier = this._identityBox.tooltipText; + verifier = this._identityIconLabels.tooltipText; } // Fill in organization information if we have a valid EV certificate. if (this._isEV) { let iData = this.getIdentityData(); host = owner = iData.subjectOrg; - verifier = this._identityBox.tooltipText; + verifier = this._identityIconLabels.tooltipText; // Build an appropriate supplemental block out of whatever location data we have if (iData.city) diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul index 283e10ce65a9..85914ec9875d 100644 --- a/browser/base/content/browser.xul +++ b/browser/base/content/browser.xul @@ -177,6 +177,7 @@ orient="vertical" ignorekeys="true" hidden="true" + tabspecific="true" onpopupshown="StarUI.panelShown(event);" aria-labelledby="editBookmarkPanelTitle">