Fix handling of no-longer-existing port condition

The condition has been spotted occurring when bringing
up the DOM inspector for a page on which cosmetic filters
are being applied.

Not clear why this happens, but uBO must be ready to
graciously handle such condition.
This commit is contained in:
Raymond Hill 2020-12-02 10:07:14 -05:00
parent 262a1a044f
commit 4d68d7f586
No known key found for this signature in database
GPG key ID: 25E1490B761470C2

View file

@ -959,7 +959,7 @@ vAPI.messaging = {
try {
port.postMessage(messageWrapper);
} catch(ex) {
this.ports.delete(port.name);
this.onPortDisconnect(port);
}
}
},
@ -985,7 +985,11 @@ vAPI.messaging = {
msg.tabId = tabId;
for ( const { port: toPort } of this.ports.values() ) {
if ( toPort === port ) { continue; }
toPort.postMessage(request);
try {
toPort.postMessage(request);
} catch (ex) {
this.onPortDisconnect(toPort);
}
}
break;
case 'connectionBroken':