From e2c3bfee12bd837dceaa06dc5cd2ebd75699d46e Mon Sep 17 00:00:00 2001 From: "neil%parkwaycc.co.uk" Date: Wed, 22 Jun 2005 11:03:11 +0000 Subject: [PATCH] Trying to fix bug 297155 without hurting Tp so much r+sr=jag a=asa git-svn-id: svn://10.0.0.236/trunk@174999 18797224-902f-48f8-a5cc-f745e15eee43 --- .../resources/content/bindings/tabbrowser.xml | 161 ++++-------------- 1 file changed, 35 insertions(+), 126 deletions(-) diff --git a/mozilla/xpfe/global/resources/content/bindings/tabbrowser.xml b/mozilla/xpfe/global/resources/content/bindings/tabbrowser.xml index e12b6445196..9e654a3c114 100644 --- a/mozilla/xpfe/global/resources/content/bindings/tabbrowser.xml +++ b/mozilla/xpfe/global/resources/content/bindings/tabbrowser.xml @@ -141,7 +141,7 @@ null - null + [] new Array() @@ -149,9 +149,6 @@ new Array() - - false - false @@ -713,38 +710,20 @@ return; } - var notifyListeners = true; - var i; - // Security says okay, now ask content policy - if (this.mTabbedMode) { - // We need to update a tab. - for (i = 0; i < this.browsers.length; i++) { - if (this.browsers[i].contentDocument == event.originalTarget.ownerDocument) { - if (contentPolicy.shouldLoad(nsIContentPolicy.TYPE_IMAGE, - uri, origURI, event.target, - safeGetProperty(event.target, "type"), - null) != nsIContentPolicy.ACCEPT) - return; - + for (var i = 0; i < this.browsers.length; i++) { + if (this.browsers[i].contentDocument == event.originalTarget.ownerDocument) { + if (contentPolicy.shouldLoad(nsIContentPolicy.TYPE_IMAGE, + uri, origURI, event.target, + safeGetProperty(event.target, "type"), + null) == nsIContentPolicy.ACCEPT) { this.mTabListeners[i].setIcon(href); - notifyListeners = (this.browsers[i] == this.mCurrentBrowser); - break; + if (this.browsers[i] == this.mCurrentBrowser) + for each (var p in this.mProgressListeners) + if (p && 'onLinkIconAvailable' in p) + p.onLinkIconAvailable(href); } - } - } - else if ((this.contentDocument != event.originalTarget.ownerDocument) || - (contentPolicy.shouldLoad(nsIContentPolicy.TYPE_IMAGE, - uri, origURI, event.target, - safeGetProperty(event.target, "type"), - null) != nsIContentPolicy.ACCEPT)) - return; - - if (notifyListeners && this.mProgressListeners) { - for (i = 0; i < this.mProgressListeners.length; i++) { - var p = this.mProgressListeners[i]; - if (p && 'onLinkIconAvailable' in p) - p.onLinkIconAvailable(href); + return; } } ]]> @@ -824,10 +803,6 @@ @@ -838,61 +813,12 @@ - - - 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. - if (this.mProgressListeners) { - 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; - ]]> - - - @@ -1177,17 +1071,12 @@ @@ -1582,6 +1471,26 @@ this.mCurrentTab = this.mTabContainer.firstChild; document.addEventListener("keypress", this._keyEventHandler, false); this.mTabBox.handleCtrlTab = !/Mac/.test(navigator.platform); + + // Wire up the first title change listener. + this.mCurrentBrowser.addEventListener("DOMTitleChanged", this.onTitleChanged, false); + + // Wire up the tab's progress listener and filter. + const nsIWebProgress = Components.interfaces.nsIWebProgress; + var tabListener = this.mTabProgressListener(this.mCurrentTab, + this.mCurrentBrowser, + false); + var filter = Components.classes["@mozilla.org/appshell/component/browser-status-filter;1"] + .createInstance(nsIWebProgress); + filter.addProgressListener(tabListener, nsIWebProgress.NOTIFY_ALL); + this.webProgress.addProgressListener(filter, + nsIWebProgress.NOTIFY_ALL); + this.mTabListeners[0] = tabListener; + this.mTabFilters[0] = filter; + + if (!this.mPrefs.getBoolPref("browser.tabs.autoHide") && + !this.mPrefs.getBoolPref("browser.tabs.forceHide")) + this.mStrip.collapsed = false; ]]>