This commit is contained in:
gorhill 2015-01-17 07:19:48 -05:00
parent 653e97e03b
commit 3ab9aa46b0
1 changed files with 15 additions and 9 deletions

View File

@ -41,7 +41,7 @@ vAPI.tabs.onNavigation = function(details) {
if ( details.frameId !== 0 ) {
return;
}
µb.bindTabToPageStats(details.tabId, details.url);
µb.bindTabToPageStats(details.tabId, details.url, 'afterNavigate');
};
// It may happen the URL in the tab changes, while the page's document
@ -146,16 +146,22 @@ vAPI.tabs.registerListeners();
return null;
}
// Reuse page store if one exists: this allows to guess if a tab is
// a popup.
// Reuse page store if one exists: this allows to guess if a tab is a popup
var pageStore = this.pageStores[tabId];
if ( pageStore ) {
if ( pageURL !== pageStore.pageURL || context === 'beforeRequest' ) {
pageStore.reuse(pageURL, context);
// Tab is not bound
if ( !pageStore ) {
return this.pageStores[tabId] = this.PageStore.factory(tabId, pageURL);
}
} else {
pageStore = this.pageStores[tabId] = this.PageStore.factory(tabId, pageURL);
// https://github.com/gorhill/uBlock/issues/516
// If context if 'beforeRequest', do not rebind
if ( context === 'beforeRequest' ) {
return pageStore;
}
if ( context === 'afterNavigate' ) {
pageStore.reuse(pageURL, context);
}
return pageStore;