From 2949e19cefdf0b585b7643f3d2d3c81642e05b58 Mon Sep 17 00:00:00 2001 From: Dave Townsend Date: Thu, 20 Nov 2008 23:56:00 +0000 Subject: [PATCH] Backed out changeset 4b5e00c182be from bug 463384 due to it causing bug 465883 --- browser/base/content/browser.js | 5 ++ browser/base/content/tabbrowser.xml | 96 +++++++++++++++++++++++------ 2 files changed, 82 insertions(+), 19 deletions(-) diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index 90f6cc567f7e..98bf67c5c333 100644 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -3858,6 +3858,8 @@ var XULBrowserWindow = { if (aWebProgress.DOMWindow == content) { if (aRequest) this.endDocumentLoad(aRequest, aStatus); + if (!gBrowser.mTabbedMode && !gBrowser.mCurrentBrowser.mIconURL) + gBrowser.useDefaultIcon(gBrowser.mCurrentTab); if (Components.isSuccessCode(aStatus) && content.document.documentElement.getAttribute("manifest")) @@ -3994,6 +3996,9 @@ var XULBrowserWindow = { this.reloadCommand.removeAttribute("disabled"); } + if (!gBrowser.mTabbedMode && aWebProgress.isLoadingDocument) + gBrowser.setIcon(gBrowser.mCurrentTab, null); + if (gURLBar) { // Strip off "wyciwyg://" and passwords for the location bar let uri = aLocationURI; diff --git a/browser/base/content/tabbrowser.xml b/browser/base/content/tabbrowser.xml index b5214b3390a2..1e5695d0c1c0 100644 --- a/browser/base/content/tabbrowser.xml +++ b/browser/base/content/tabbrowser.xml @@ -195,15 +195,13 @@ [] - [] + new Array() - [] + new Array() - - true + false false @@ -1009,6 +1007,8 @@ // XXXdwh temporary unclean dependency on specific menu items in navigator.xul document.getElementById("menu_closeWindow").hidden = false; document.getElementById("menu_close").setAttribute("label", this.mStringBundle.getString("tabs.closeTab")); + if (!this.mTabbedMode) + this.enterTabbedMode(); } else { // XXXdwh temporary unclean dependency on specific menu items in navigator.xul @@ -1025,12 +1025,50 @@ - - Application.console.log("enterTabbedMode is an obsolete method and " + - "will be removed in a future release."); + 0) { + // Use the filter hooked up in our addProgressListener + filter = this.mTabFilters[0]; + } else { + // create a filter and hook it up to our first browser + filter = Components.classes["@mozilla.org/appshell/component/browser-status-filter;1"] + .createInstance(Components.interfaces.nsIWebProgress); + this.mTabFilters[0] = filter; + this.mCurrentBrowser.webProgress.addProgressListener(filter, Components.interfaces.nsIWebProgress.NOTIFY_ALL); + } + + // Remove all our progress listeners from the active browser's filter. + for (var i = 0; i < this.mProgressListeners.length; i++) { + var p = this.mProgressListeners[i]; + if (p) + filter.removeProgressListener(p); + } + + // Wire up a progress listener to our filter. + const listener = this.mTabProgressListener(this.mCurrentTab, + this.mCurrentBrowser, + false); + filter.addProgressListener(listener, Components.interfaces.nsIWebProgress.NOTIFY_ALL); + this.mTabListeners[0] = listener; + ]]> @@ -1108,6 +1146,9 @@ @@ -1659,6 +1723,10 @@ break; } } + + if (!this.mTabbedMode) + // Don't forget to remove it from the filter we hooked it up to + this.mTabFilters[0].removeProgressListener(aListener); ]]> @@ -2554,16 +2622,6 @@ this._autoScrollPopup = this.mCurrentBrowser._createAutoScrollPopup(); this.appendChild(this._autoScrollPopup); this.mCurrentBrowser.setAttribute("autoscrollpopup", this._autoScrollPopup.id); - - // Hook up the event listeners to the first browser - this.mCurrentBrowser.addEventListener("DOMTitleChanged", this.onTitleChanged, true); - var tabListener = this.mTabProgressListener(this.mCurrentTab, this.mCurrentBrowser, true); - const filter = Components.classes["@mozilla.org/appshell/component/browser-status-filter;1"] - .createInstance(Components.interfaces.nsIWebProgress); - filter.addProgressListener(tabListener, Components.interfaces.nsIWebProgress.NOTIFY_ALL); - this.mCurrentBrowser.webProgress.addProgressListener(filter, Components.interfaces.nsIWebProgress.NOTIFY_ALL); - this.mTabListeners[0] = tabListener; - this.mTabFilters[0] = filter; ]]>