diff --git a/platform/common/vapi-background.js b/platform/common/vapi-background.js index cdfebfefd..2af01c204 100644 --- a/platform/common/vapi-background.js +++ b/platform/common/vapi-background.js @@ -1371,8 +1371,11 @@ vAPI.Net = class { return this.unprocessedTabs.size !== 0 && this.unprocessedTabs.has(tabId); } - removeUnprocessedRequest(tabId) { - this.unprocessedTabs.delete(tabId); + // https://github.com/uBlockOrigin/uBlock-issues/issues/2589 + // - Aggressively clear the unprocessed-request status of all tabs as + // soon as there is a call to clear for one tab. + removeUnprocessedRequest() { + this.unprocessedTabs.clear(); if ( this.unprocessedTabs.size !== 0 ) { return false; } this.suspendableListener = this.deferredSuspendableListener; this.deferredSuspendableListener = undefined; diff --git a/src/js/messaging.js b/src/js/messaging.js index 8565d24ce..779495141 100644 --- a/src/js/messaging.js +++ b/src/js/messaging.js @@ -499,7 +499,7 @@ const popupDataFromTabId = function(tabId, tabTitle) { tabId, tabTitle, tooltipsDisabled: µbus.tooltipsDisabled, - hasUnprocessedRequest: vAPI && vAPI.net.hasUnprocessedRequest(tabId), + hasUnprocessedRequest: vAPI.net && vAPI.net.hasUnprocessedRequest(tabId), }; if ( µbhs.uiPopupConfig !== 'unset' ) {