mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-25 17:48:07 +02:00
Ensure that ReadableStream
s are cancelled with actual Errors
There's a number of spots in the current code, and tests, where `cancel` methods are not called with appropriate arguments (leading to Promises not being rejected with Errors as intended). In some cases the cancel `reason` is implicitly set to `undefined`, and in others the cancel `reason` is just a plain String. To address this inconsistency, the patch changes things such that cancelling is done with `AbortException`s everywhere instead.
This commit is contained in:
parent
d909b86b28
commit
a3150166ec
8 changed files with 32 additions and 29 deletions
|
@ -567,14 +567,13 @@ class ChunkedStreamManager {
|
|||
return Math.floor((end - 1) / this.chunkSize) + 1;
|
||||
}
|
||||
|
||||
abort() {
|
||||
abort(reason) {
|
||||
this.aborted = true;
|
||||
if (this.pdfNetworkStream) {
|
||||
this.pdfNetworkStream.cancelAllRequests('abort');
|
||||
this.pdfNetworkStream.cancelAllRequests(reason);
|
||||
}
|
||||
for (const requestId in this.promisesByRequest) {
|
||||
this.promisesByRequest[requestId].reject(
|
||||
new Error('Request was aborted'));
|
||||
this.promisesByRequest[requestId].reject(reason);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue