|
@ -259,9 +259,7 @@ housekeep itself. |
|
|
|
|
|
|
|
|
// Called whenever a candidate root URL is spotted for the tab.
|
|
|
// Called whenever a candidate root URL is spotted for the tab.
|
|
|
TabContext.prototype.push = function(url, context) { |
|
|
TabContext.prototype.push = function(url, context) { |
|
|
if ( vAPI.isBehindTheSceneTabId(this.tabId) ) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if ( vAPI.isBehindTheSceneTabId(this.tabId) ) { return; } |
|
|
var committed = context !== undefined; |
|
|
var committed = context !== undefined; |
|
|
var count = this.stack.length; |
|
|
var count = this.stack.length; |
|
|
var topEntry = this.stack[count - 1]; |
|
|
var topEntry = this.stack[count - 1]; |
|
@ -348,28 +346,27 @@ housekeep itself. |
|
|
entry.rootDomain = µm.URI.domainFromHostname(entry.rootHostname) || entry.rootHostname; |
|
|
entry.rootDomain = µm.URI.domainFromHostname(entry.rootHostname) || entry.rootHostname; |
|
|
})(); |
|
|
})(); |
|
|
|
|
|
|
|
|
vAPI.tabs.onNavigation = function(details) { |
|
|
|
|
|
var tabId = details.tabId; |
|
|
|
|
|
if ( vAPI.isBehindTheSceneTabId(tabId) ) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
push(tabId, details.url, 'newURL'); |
|
|
|
|
|
// https://github.com/gorhill/uMatrix/issues/513
|
|
|
// https://github.com/gorhill/uMatrix/issues/513
|
|
|
// Force a badge update here, it could happen that all the subsequent
|
|
|
// Force a badge update here, it could happen that all the subsequent
|
|
|
// network requests are already in the page store, which would cause
|
|
|
// network requests are already in the page store, which would cause
|
|
|
// the badge to no be updated for these network requests.
|
|
|
// the badge to no be updated for these network requests.
|
|
|
|
|
|
|
|
|
|
|
|
vAPI.tabs.onNavigation = function(details) { |
|
|
|
|
|
var tabId = details.tabId; |
|
|
|
|
|
if ( vAPI.isBehindTheSceneTabId(tabId) ) { return; } |
|
|
|
|
|
push(tabId, details.url, 'newURL'); |
|
|
µm.updateBadgeAsync(tabId); |
|
|
µm.updateBadgeAsync(tabId); |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// https://github.com/gorhill/uMatrix/issues/872
|
|
|
|
|
|
// `changeInfo.url` may not always be available (Firefox).
|
|
|
|
|
|
|
|
|
vAPI.tabs.onUpdated = function(tabId, changeInfo, tab) { |
|
|
vAPI.tabs.onUpdated = function(tabId, changeInfo, tab) { |
|
|
if ( typeof tab.url !== 'string' || tab.url === '' ) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
if ( vAPI.isBehindTheSceneTabId(tabId) ) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
if ( changeInfo.url ) { |
|
|
|
|
|
push(tabId, changeInfo.url, 'updateURL'); |
|
|
|
|
|
|
|
|
if ( vAPI.isBehindTheSceneTabId(tabId) ) { return; } |
|
|
|
|
|
if ( typeof tab.url !== 'string' || tab.url === '' ) { return; } |
|
|
|
|
|
var url = changeInfo.url || tab.url; |
|
|
|
|
|
if ( url ) { |
|
|
|
|
|
push(tabId, url, 'updateURL'); |
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|