Adds fetch stream logic for networking part of PDF.js

This commit is contained in:
Mukul Mishra 2017-08-10 13:00:54 +05:30
parent f54dfc63dc
commit 3516a59384
6 changed files with 270 additions and 20 deletions

View file

@ -1247,6 +1247,17 @@ function wrapReason(reason) {
}
}
function makeReasonSerializable(reason) {
if (!(reason instanceof Error) ||
reason instanceof AbortException ||
reason instanceof MissingPDFException ||
reason instanceof UnexpectedResponseException ||
reason instanceof UnknownErrorException) {
return reason;
}
return new UnknownErrorException(reason.message, reason.toString());
}
function resolveOrReject(capability, success, reason) {
if (success) {
capability.resolve();
@ -1307,16 +1318,12 @@ function MessageHandler(sourceName, targetName, comObj) {
data: result,
});
}, (reason) => {
if (reason instanceof Error) {
// Serialize error to avoid "DataCloneError"
reason = reason + '';
}
comObj.postMessage({
sourceName,
targetName,
isReply: true,
callbackId: data.callbackId,
error: reason,
error: makeReasonSerializable(reason),
});
});
} else if (data.streamId) {