More aggressively clear the unprocessed-request status

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2589
This commit is contained in:
Raymond Hill 2023-04-12 10:55:00 -04:00
parent f661196691
commit bc54179edd
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2
2 changed files with 6 additions and 3 deletions

View File

@ -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;

View File

@ -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' ) {