mirror of https://github.com/gorhill/uBlock.git
Prevent resetting of block count statistics in the more normal case of onLocationChange occurring before document-element-inserted
This commit is contained in:
parent
bec6e0ac8b
commit
caea8c5497
|
@ -294,10 +294,12 @@ const contentObserver = {
|
||||||
let doc = e.target;
|
let doc = e.target;
|
||||||
doc.removeEventListener(e.type, docReady, true);
|
doc.removeEventListener(e.type, docReady, true);
|
||||||
|
|
||||||
|
// It is possible, in some cases (#1140) for document-element-inserted to occur *before* nsIWebProgressListener.onLocationChange, so ensure that the URL is correct before continuing
|
||||||
let messageManager = doc.docShell.getInterface(Ci.nsIContentFrameMessageManager);
|
let messageManager = doc.docShell.getInterface(Ci.nsIContentFrameMessageManager);
|
||||||
|
|
||||||
messageManager.sendSyncMessage(locationChangedMessageName, {
|
messageManager.sendSyncMessage(locationChangedMessageName, {
|
||||||
url: loc.href,
|
url: loc.href,
|
||||||
|
noRefresh: true, // If the URL is the same, then don't refresh it so that if this occurs after onLocationChange, no the block count isn't reset
|
||||||
});
|
});
|
||||||
|
|
||||||
lss(this.contentBaseURI + 'contentscript-end.js', sandbox);
|
lss(this.contentBaseURI + 'contentscript-end.js', sandbox);
|
||||||
|
|
|
@ -1325,6 +1325,12 @@ vAPI.net.registerListeners = function() {
|
||||||
var locationChangedListener = function(e) {
|
var locationChangedListener = function(e) {
|
||||||
var details = e.data;
|
var details = e.data;
|
||||||
var browser = e.target;
|
var browser = e.target;
|
||||||
|
|
||||||
|
if (details.noRefresh && details.url === browser.currentURI.asciiSpec) { // If the location changed message specified not to refresh, and the URL is the same, no need to do anything
|
||||||
|
//console.debug("nsIWebProgressListener: ignoring onLocationChange: " + details.url);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var tabId = vAPI.tabs.getTabId(browser);
|
var tabId = vAPI.tabs.getTabId(browser);
|
||||||
if (tabId === vAPI.noTabId) {
|
if (tabId === vAPI.noTabId) {
|
||||||
return; // Do not navigate for behind the scenes
|
return; // Do not navigate for behind the scenes
|
||||||
|
|
Loading…
Reference in New Issue