diff --git a/src/shared/streams_polyfill.js b/src/shared/streams_polyfill.js index 5e3ce9050..e35da6cd9 100644 --- a/src/shared/streams_polyfill.js +++ b/src/shared/streams_polyfill.js @@ -13,7 +13,22 @@ * limitations under the License. */ +let isReadableStreamSupported = false; if (typeof ReadableStream !== 'undefined') { + // MS Edge may say it has ReadableStream but they are not up to spec yet. + try { + // eslint-disable-next-line no-new + new ReadableStream({ + start(controller) { + controller.close(); + }, + }); + isReadableStreamSupported = true; + } catch (e) { + // The ReadableStream constructor cannot be used. + } +} +if (isReadableStreamSupported) { exports.ReadableStream = ReadableStream; } else { if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('CHROME')) {