Loading browser/base/content/tabbrowser.xml +22 −7 Original line number Diff line number Diff line Loading @@ -1734,6 +1734,7 @@ <parameter name="aOtherTab"/> <body> <![CDATA[ // That's gBrowser for the other window, not the tab's browser! var remoteBrowser = aOtherTab.ownerDocument.defaultView.getBrowser(); Loading @@ -1751,8 +1752,19 @@ filter.removeProgressListener(tabListener); var tabListenerBlank = tabListener.mBlank; // Workarounds for bug 458697 // Icon might have been set on DOMLinkAdded, don't override that. if (!ourBrowser.mIconURL && aOtherTab.linkedBrowser.mIconURL) this.setIcon(aOurTab, aOtherTab.linkedBrowser.mIconURL); var isBusy = aOtherTab.hasAttribute("busy"); if (isBusy) { aOurTab.setAttribute("busy", "true"); if (aOurTab == this.selectedTab) this.mIsBusy = true; } // Swap the docshells ourBrowser.swapDocShells(remoteBrowser.getBrowserForTab(aOtherTab)); ourBrowser.swapDocShells(aOtherTab.linkedBrowser); // Finish tearing down the tab that's going away. remoteBrowser._endRemoveTab(endRemoveArgs); Loading @@ -1767,6 +1779,9 @@ ourBrowser.webProgress.addProgressListener(filter, Components.interfaces.nsIWebProgress.NOTIFY_ALL); if (isBusy) this.setTabTitleLoading(aOurTab); else this.setTabTitle(aOurTab); this.updateIcon(aOurTab); Loading Loading @@ -2295,7 +2310,7 @@ // tell a new window to take the "dropped" tab var ww = Cc["@mozilla.org/embedcomp/window-watcher;1"]. getService(Ci.nsIWindowWatcher); ww.openWindow(window, return ww.openWindow(window, getBrowserURL(), null, "chrome,dialog=no,all", Loading browser/base/content/test/Makefile.in +1 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ _BROWSER_FILES = browser_sanitize-timespans.js \ browser_bug455852.js \ browser_bug462673.js \ browser_bug481560.js \ browser_bug477014.js \ browser_discovery.js \ discovery.html \ moz.png \ Loading toolkit/content/widgets/browser.xml +7 −3 Original line number Diff line number Diff line Loading @@ -966,9 +966,13 @@ <parameter name="aOtherBrowser"/> <body> <![CDATA[ // We need to swap fields that are tied to our docshell or related to the loaded page var fieldsToSwap = [ "_docShell", "_webBrowserFind", "_contentWindow", "_webNavigation", "mIconURL" ]; // We need to swap fields that are tied to our docshell or related to // the loaded page // Fields which are built as a result of notifactions (pageshow/hide, // DOMLinkAdded/Removed, onStateChange) should not be swapped here, // because these notifications are dispatched again once the docshells // are swapped. var fieldsToSwap = [ "_docShell", "_webBrowserFind", "_contentWindow", "_webNavigation"]; var ourTabBrowser = this.getTabBrowser(); Loading Loading
browser/base/content/tabbrowser.xml +22 −7 Original line number Diff line number Diff line Loading @@ -1734,6 +1734,7 @@ <parameter name="aOtherTab"/> <body> <![CDATA[ // That's gBrowser for the other window, not the tab's browser! var remoteBrowser = aOtherTab.ownerDocument.defaultView.getBrowser(); Loading @@ -1751,8 +1752,19 @@ filter.removeProgressListener(tabListener); var tabListenerBlank = tabListener.mBlank; // Workarounds for bug 458697 // Icon might have been set on DOMLinkAdded, don't override that. if (!ourBrowser.mIconURL && aOtherTab.linkedBrowser.mIconURL) this.setIcon(aOurTab, aOtherTab.linkedBrowser.mIconURL); var isBusy = aOtherTab.hasAttribute("busy"); if (isBusy) { aOurTab.setAttribute("busy", "true"); if (aOurTab == this.selectedTab) this.mIsBusy = true; } // Swap the docshells ourBrowser.swapDocShells(remoteBrowser.getBrowserForTab(aOtherTab)); ourBrowser.swapDocShells(aOtherTab.linkedBrowser); // Finish tearing down the tab that's going away. remoteBrowser._endRemoveTab(endRemoveArgs); Loading @@ -1767,6 +1779,9 @@ ourBrowser.webProgress.addProgressListener(filter, Components.interfaces.nsIWebProgress.NOTIFY_ALL); if (isBusy) this.setTabTitleLoading(aOurTab); else this.setTabTitle(aOurTab); this.updateIcon(aOurTab); Loading Loading @@ -2295,7 +2310,7 @@ // tell a new window to take the "dropped" tab var ww = Cc["@mozilla.org/embedcomp/window-watcher;1"]. getService(Ci.nsIWindowWatcher); ww.openWindow(window, return ww.openWindow(window, getBrowserURL(), null, "chrome,dialog=no,all", Loading
browser/base/content/test/Makefile.in +1 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ _BROWSER_FILES = browser_sanitize-timespans.js \ browser_bug455852.js \ browser_bug462673.js \ browser_bug481560.js \ browser_bug477014.js \ browser_discovery.js \ discovery.html \ moz.png \ Loading
toolkit/content/widgets/browser.xml +7 −3 Original line number Diff line number Diff line Loading @@ -966,9 +966,13 @@ <parameter name="aOtherBrowser"/> <body> <![CDATA[ // We need to swap fields that are tied to our docshell or related to the loaded page var fieldsToSwap = [ "_docShell", "_webBrowserFind", "_contentWindow", "_webNavigation", "mIconURL" ]; // We need to swap fields that are tied to our docshell or related to // the loaded page // Fields which are built as a result of notifactions (pageshow/hide, // DOMLinkAdded/Removed, onStateChange) should not be swapped here, // because these notifications are dispatched again once the docshells // are swapped. var fieldsToSwap = [ "_docShell", "_webBrowserFind", "_contentWindow", "_webNavigation"]; var ourTabBrowser = this.getTabBrowser(); Loading