1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-07-05 11:37:01 +02:00

Minor code review

This commit is contained in:
Raymond Hill 2021-07-16 14:06:59 -04:00
parent bad1506f20
commit e3f8a612f4
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2
2 changed files with 34 additions and 15 deletions

View File

@ -37,35 +37,47 @@ vAPI.Tabs = class extends vAPI.Tabs {
this.onCreatedHandler(tab);
});
}
onCreatedHandler(tab) {
if ( typeof tab.openerTabId === 'number' ) { return; }
if ( tab.index !== 0 ) { return; }
if ( tab.url !== '' ) { return; }
this.tabIds.add(tab.id);
}
onCreatedNavigationTargetHandler(details) {
this.tabIds.delete(details.tabId);
super.onCreatedNavigationTargetHandler(details);
}
onCommittedHandler(details) {
if ( details.frameId === 0 && this.tabIds.has(details.tabId) ) {
this.tabIds.delete(details.tabId);
webext.tabs.get(details.tabId).then(tab => {
if ( tab === null ) { return; }
this.onCreatedNavigationTargetHandler({
tabId: tab.id,
sourceTabId: tab.id,
sourceFrameId: 0,
url: tab.url,
});
});
if ( details.frameId === 0 ) {
this.synthesizeNavigationTargetEvent(details);
}
super.onCommittedHandler(details);
}
onRemovedHandler(tabId, details) {
this.tabIds.delete(tabId);
super.onRemovedHandler(tabId, details);
}
synthesizeNavigationTargetEvent(details) {
if ( this.tabIds.has(details.tabId) === false ) { return; }
this.tabIds.delete(details.tabId);
if (
Array.isArray(details.transitionQualifiers) === false ||
details.transitionQualifiers.includes('client_redirect') === false
) {
return;
}
this.onCreatedNavigationTargetHandler({
tabId: details.tabId,
sourceTabId: details.tabId,
sourceFrameId: 0,
url: details.url,
});
}
};
/******************************************************************************/
@ -96,6 +108,7 @@ vAPI.Tabs = class extends vAPI.Tabs {
super();
this.suspendedTabIds = new Set();
}
normalizeDetails(details) {
// Chromium 63+ supports the `initiator` property, which contains
// the URL of the origin from which the network request was made.
@ -142,6 +155,7 @@ vAPI.Tabs = class extends vAPI.Tabs {
}
}
}
// https://www.reddit.com/r/uBlockOrigin/comments/9vcrk3/
// Some types can be mapped from 'other', thus include 'other' if and
// only if the caller is interested in at least one of those types.
@ -165,10 +179,12 @@ vAPI.Tabs = class extends vAPI.Tabs {
}
return Array.from(out);
}
suspendOneRequest(details) {
this.suspendedTabIds.add(details.tabId);
return { cancel: true };
}
unsuspendAllRequests() {
for ( const tabId of this.suspendedTabIds ) {
vAPI.tabs.reload(tabId);

View File

@ -455,11 +455,14 @@ const PageStore = class {
}
titleFromDetails(details) {
if ( details instanceof Object && details.title !== undefined ) {
this.title = details.title;
return true;
if (
details instanceof Object === false ||
details.title === undefined
) {
return false;
}
return false;
this.title = µb.orphanizeString(details.title.slice(0, 128));
return true;
}
disposeFrameStores() {