Bug 1254669 - Create a new mTabProgressListener for a browser when flipping remoteness. r=Felipe

MozReview-Commit-ID: Geu8OJGUTQy

--HG--
extra : rebase_source : eaacbc4805bccf87a6284764b5ad77c105355394
This commit is contained in:
Mike Conley 2016-03-08 15:50:54 -05:00
parent 0cf93a0e57
commit 630e379444

View File

@ -1560,7 +1560,13 @@
// Unhook our progress listener.
let tab = this.getTabForBrowser(aBrowser);
let filter = this._tabFilters.get(tab);
let listener = this._tabListeners.get(tab);
aBrowser.webProgress.removeProgressListener(filter);
filter.removeProgressListener(listener);
// We'll be creating a new listener, so destroy the old one.
listener.destroy();
// Make sure the browser is destroyed so it unregisters from observer notifications
aBrowser.destroy();
@ -1582,6 +1588,13 @@
aBrowser.docShellIsActive = (aBrowser == this.selectedBrowser &&
window.windowState != window.STATE_MINIMIZED);
// Create a new tab progress listener for the new browser we just injected,
// since tab progress listeners have logic for handling the initial about:blank
// load
listener = this.mTabProgressListener(tab, aBrowser, false, false);
this._tabListeners.set(tab, listener);
filter.addProgressListener(listener, Ci.nsIWebProgress.NOTIFY_ALL);
// Restore the progress listener.
aBrowser.webProgress.addProgressListener(filter, Ci.nsIWebProgress.NOTIFY_ALL);