Yury Delendik and Jonas Jenwald
66e0dd1b06
Use streams for OperatorList chunking (issue 10023)
...
*Please note:* The majority of this patch was written by Yury, and it's simply been rebased and slightly extended to prevent issues when dealing with `RenderingCancelledException`.
By leveraging streams this (finally) provides a simple way in which parsing can be aborted on the worker-thread, which will ultimately help save resources.
With this patch worker-thread parsing will *only* be aborted when the document is destroyed, and not when rendering is cancelled. There's a couple of reasons for this:
- The API currently expects the *entire* OperatorList to be extracted, or an Error to occur, once it's been started. Hence additional re-factoring/re-writing of the API code will be necessary to properly support cancelling and re-starting of OperatorList parsing in cases where the `lastChunk` hasn't yet been seen.
- Even with the above addressed, immediately cancelling when encountering a `RenderingCancelledException` will lead to worse performance in e.g. the default viewer. When zooming and/or rotation of the document occurs it's very likely that `cancel` will be (almost) immediately followed by a new `render` call. In that case you'd obviously *not* want to abort parsing on the worker-thread, since then you'd risk throwing away a partially parsed Page and thus be forced to re-parse it again which will regress perceived performance.
- This patch is already *somewhat* risky, given that it touches fundamentally important/critical code, and trying to keep it somewhat small should hopefully reduce the risk of regressions (and simplify reviewing as well).
Time permitting, once this has landed and been in Nightly for awhile, I'll try to work on the remaining points outlined above.
Co-Authored-By: Yury Delendik <ydelendik@mozilla.com >
Co-Authored-By: Jonas Jenwald <jonas.jenwald@gmail.com >
2019-08-24 15:56:40 +02:00
Yury Delendik
51b0e60f9b
Merge pull request #9924 from ErikNijland/master
...
fix(browser): zlib is not available in browser
2018-07-26 08:35:52 -05:00
Yury Delendik
20085aaa5e
Remove createFromIR from PDFFunctionFactory; forgive invalid Dict values.
2018-04-10 18:49:31 -05:00
Yury Delendik
655c8d34d0
New XML parser
2018-03-19 20:51:41 -05:00
Yury Delendik
e0fb18a339
Merge pull request #9508 from pal03377/file-info-page-size
...
Add paper size to document information/properties
2018-03-08 11:57:38 -06:00
Yury Delendik
e162df59bb
Merge pull request #9138 from Snuffleupagus/rm-requestAnimationFrame-polyfill
...
Remove the `requestAnimationFrame` polyfill
2017-11-15 10:48:34 -06:00
Yury Delendik
5fa56f6a9d
For backwards compatibility: use addOp amount instead of queue size.
2017-11-09 18:46:48 -06:00
Yury Delendik
877c2d7743
Changing QueueOptimizer to be more iterative.
2017-11-09 18:46:48 -06:00
Yury Delendik
85f544f55a
Moves OperatorList and QueueOptimizer into separate file.
2017-10-30 13:29:58 -05:00
Yury Delendik
7fbc9dbdc3
Version 2.0
2017-10-30 08:18:25 -05:00
Yury Delendik
b4e25fb2e8
Merge remote-tracking branch 'mozilla/version-2.0' into v2
2017-10-27 14:01:45 -05:00
Yury Delendik
985c700bd5
Merge pull request #9076 from yurydelendik/v1.10.88
...
Release 1.10.88
2017-10-27 12:26:51 -05:00
Yury Delendik
da0c9360fa
Release 1.10.88
2017-10-27 10:32:55 -05:00
Yury Delendik
af0a8a64c0
Release 1.9 as stable.
2017-10-23 15:34:00 -05:00
Yury Delendik
725a2eb1e7
Merge pull request #8986 from yurydelendik/version-1.10
...
Version 1.10
2017-10-23 15:29:54 -05:00
Yury Delendik
bab420e7ec
Merge pull request #9061 from yurydelendik/eccn
...
Adds ECCN response statement
2017-10-23 13:40:14 -05:00
Yury Delendik
a7f0522821
Adds ECCN response statement
2017-10-23 13:31:36 -05:00
Yury Delendik
fab59e0f91
Revert "Closes all promises/streams when handler is destroyed."
2017-10-06 11:55:28 -05:00
Yury Delendik
75a13eeb38
Version 1.10
2017-10-02 07:58:57 -05:00
Yury Delendik
f206ee56bf
Merge pull request #8962 from Snuffleupagus/CMapReaderFactory-baseUrl-check
...
Check that `this.baseUrl` is defined before attempting to fetch any data in `DOMCMapReaderFactory`/`NodeCMapReaderFactory`
2017-09-29 07:50:57 -05:00
Yury Delendik
71b0e4e818
Closes all promises/streams when handler is destroyed.
2017-09-28 16:45:04 -05:00
Yury Delendik
d0d7046129
Merge pull request #8910 from mukulmishra18/include-credentials
...
Fix #8888 : Change behaviour of fetch to make it compatible with XHR.
2017-09-14 14:29:59 -05:00
Yury Delendik
25c49de048
Merge pull request #8904 from timvandermeij/svg-setattribute-stub
...
Provide a stub for `setAttribute` in order to use the SVG back-end with Node.js
2017-09-13 07:47:47 -05:00
Yury Delendik
9b14f8ea2a
Merge pull request #8866 from Snuffleupagus/fix-non-HTTP-validateResponseStatus
...
Correctly validate the response status for non-HTTP fetch requests (PR 8768 follow-up)
2017-09-05 12:47:44 -05:00
Yury Delendik
47c28643d6
Revert PDFPageView.pdfPage reset.
2017-08-31 16:49:01 -05:00
Yury Delendik
47789b51c3
Merge pull request #8855 from Rob--W/fetch-withCredentials-fix-default
...
Add test for withCredentials option
2017-08-31 08:45:22 -05:00
Yury Delendik
2656825432
Merge pull request #8845 from yurydelendik/fix-autofetch
...
Fixes autofetch and firefox nightly fetch streams
2017-08-30 11:28:42 -05:00
Yury Delendik
bad3203fda
Merge pull request #8768 from mukulmishra18/fetch_stream
...
Adds fetch stream logic for networking part of PDF.js
2017-08-30 11:27:48 -05:00
Yury Delendik
cd95b426c7
Disables fetch when ReadableStream is not available.
2017-08-30 10:53:59 -05:00
Yury Delendik
3cff7da0e7
Fixes fetch and node behavior when disableAutoFetch adn disableStream is used.
2017-08-30 10:53:38 -05:00
Yury Delendik
f1819f4d36
Merge pull request #8822 from yurydelendik/disable-fs-in-dist
...
Disable node libs in pdfjs-dist package.json
2017-08-24 11:36:00 -05:00
Yury Delendik
e82811adb4
Merge pull request #8712 from mukulmishra18/node_stream
...
Adds node.js logic for networking tasks for PDF.js
2017-08-24 11:35:29 -05:00
Yury Delendik
4e6ae18f19
Disable node libs in pdfjs-dist package.json
2017-08-24 10:57:18 -05:00
Yury Delendik
438c0b28f2
Use Array.isArray in the LoopbackPort.
2017-08-23 09:25:25 -05:00
Yury Delendik
57bc3296f4
Moves global scope out of shared/util.
2017-08-22 18:20:52 -05:00
Yury Delendik
ba5dbc9632
Merge pull request #8780 from yurydelendik/v1.9.426
...
Version 1.9.426
2017-08-14 18:41:32 -05:00
Yury Delendik
163ecf9b95
Version 1.9.426
2017-08-14 18:37:57 -05:00
Yury Delendik
2558a58dbb
Merge pull request #8749 from yurydelendik/version-1.9
...
Version 1.9
2017-08-14 15:42:21 -05:00
Yury Delendik
d0e93721ae
More robust getPage() error handling.
2017-08-04 17:03:33 -05:00
Yury Delendik
da372d5a57
Version 1.9
2017-08-04 16:13:49 -05:00
Yury Delendik
a1dfbec532
Properly cancel streams and guard at getTextContent.
2017-08-03 16:36:46 -05:00
Yury Delendik
5b5781b45d
Merge pull request #8738 from ChenMachluf/remove_workerPort_after_PDFWorker_destroy
...
Delete workerPort to PDFWorker cache after PDFWorker destroy
2017-08-03 15:49:40 -05:00
Yury Delendik
0c95bc7d83
Merge pull request #8744 from yurydelendik/stream-edge
...
Checks Edge support for streams.
2017-08-03 09:16:43 -05:00
Yury Delendik
6beb925f0b
Checks Edge support for streams.
2017-08-03 08:48:51 -05:00
Yury Delendik
01b47d9012
Use streams-lib as polyfill
2017-07-28 11:54:33 -05:00
Yury Delendik
343b4dc2b6
Merge pull request #8617 from mukulmishra18/network-streaming
...
Adds Streams API support for networking task of PDF.js project.
2017-07-27 16:15:06 -05:00
Yury Delendik
c830021b07
Fixes CFF data glyph widths
2017-07-25 12:29:51 -05:00
Yury Delendik
bd8c12119a
Merge pull request #8696 from mukulmishra18/sink-ready-rejection
...
Adds ready capability rejection logic for stream sink.
2017-07-24 16:40:30 -05:00
Yury Delendik
ca3c08f12b
Merge pull request #8620 from Rob--W/issue-8560-improve-png-compression
...
Improve compression of PNG images embedded in generated SVG files
2017-07-14 07:23:38 -05:00
Yury Delendik
c673b6fee1
Merge pull request #8646 from yurydelendik/issue-8645
...
Fixes pdf.js library source detection.
2017-07-13 15:20:17 -05:00
Yury Delendik
52460687ca
Fixes pdf.js library source detection.
2017-07-13 14:57:39 -05:00
Yury Delendik
2cef24a2ad
Merge pull request #8630 from Rob--W/issue-8622-remove-__pdfjsdev_webpack__
...
Remove __pdfjsdev_webpack__, use webpack options
2017-07-10 11:31:45 -05:00
Yury Delendik
7b4887dd21
Merge pull request #8581 from yurydelendik/rm-error
...
Removes error()
2017-07-07 09:43:30 -05:00
Yury Delendik
d028c26210
Removes error()
2017-07-07 09:40:24 -05:00
Yury Delendik
b3bac5100c
Merge pull request #8596 from mukulmishra18/proper-read-result
...
Fixes wrong structure of fullReader.read() result.
2017-07-05 09:03:57 -05:00
Yury Delendik
e2ca894fec
Merge pull request #8488 from mukulmishra18/streams-getTextContent
...
Streams get text content
2017-06-23 12:52:13 -05:00
Yury Delendik
d1567a947e
Merge pull request #8567 from ghetolay/fix_CMapReaderFactory+worker
...
Fix error when using custom CMapReaderFactory
2017-06-23 12:49:55 -05:00
Yury Delendik
9bed695ebd
Merge pull request #8540 from Rob--W/svg-oom
...
Reduce memory requirements of pdf2svg.js example to avoid OOM
2017-06-20 17:24:48 -05:00
Yury Delendik
18e1f3d29b
Ensure canvas is really hidden when used with pdfjs-dist.
...
Avoids black background flickering in such examples as components/simpleviewer.html
2017-06-20 14:45:07 -05:00
Yury Delendik
679ffc84f6
Merge pull request #8544 from Rob--W/compatiblity-safari-strict-error
...
compatibility.js: Rename parameters in JURL
2017-06-19 10:34:33 -05:00
Yury Delendik
df4782dab7
Merge pull request #8543 from Rob--W/svg-domstubs-closePath
...
Add getAttributeNS to domstubs for SVG example
2017-06-19 09:58:18 -05:00
Yury Delendik
0c93dee0de
Merge pull request #8515 from yurydelendik/bloborigin
...
Adds special case for origin of blob to the compatibility URL.
2017-06-16 11:21:45 -05:00
Yury Delendik
209751346c
Merge pull request #8531 from Snuffleupagus/rm-updatePosition
...
Remove `PDFPageView.updatePosition` since it's not actually necessary
2017-06-15 12:09:35 -05:00
Yury Delendik
82f3145a5d
Merge pull request #8522 from yurydelendik/weakmapfix
...
Fixes WeakMap polyfill (and improves PDFWorker port check).
2017-06-13 09:54:10 -05:00
Yury Delendik
631e6bebff
Fixes WeakMap polyfill (and improves PDFWorker port check).
2017-06-13 09:36:58 -05:00
Yury Delendik
b44848b918
Adds special case for origin of blob to the compatibility URL.
2017-06-13 08:19:46 -05:00
Yury Delendik
24f14d44cb
Preventing from using the same canvas for multiple render()
2017-06-12 16:33:49 -05:00
Yury Delendik
a18caa730d
Adds gulp dist-install command; using pdfjs-dist package in examples.
2017-06-12 10:22:16 -05:00
Yury Delendik
db7a770542
Additional check in globalScope detections
2017-06-12 10:14:46 -05:00
Yury Delendik
08c6437196
Merge pull request #8510 from Snuffleupagus/zoom-dropdown-glitches
...
Prevent the Zoom dropdown from intermittently displaying an incorrect custom scale in Firefox (PR 8394 follow-up)
2017-06-10 08:03:03 -05:00
Yury Delendik
69c804a0f4
Fixes duplicate creation of PDFWorker for the same port.
2017-06-10 07:02:29 -05:00
Yury Delendik
9342054502
Merge pull request #8430 from mukulmishra18/sendWithStream
...
Adds sendWithStream method in MessageHandler.
2017-06-09 12:02:12 -05:00
Yury Delendik
5438ce9b98
Wraps mozL10n to async calls; splits firefox and generic l10n libs.
2017-05-31 09:22:25 -05:00
Yury Delendik
bd288df909
Merge pull request #8396 from mukulmishra18/streams-lib
...
Adds streams-lib polyfill and exports ReadableStream from shared/util.
2017-05-31 08:42:48 -05:00
Yury Delendik
1e6f49b129
Merge pull request #8462 from yurydelendik/rm=umd
...
Removes last UMDs from the modules.
2017-05-31 07:27:19 -05:00
Yury Delendik
66c8893815
Removes last UMDs from the modules.
2017-05-31 07:14:17 -05:00
Yury Delendik
b66b705ed7
Using pre-built code for testing.
2017-05-30 22:06:21 +02:00
Yury Delendik
a67198895f
Resets canvas 2d context to the default state.
2017-05-23 15:10:30 -05:00
Yury Delendik
ad797fa74d
Merge pull request #8436 from Snuffleupagus/issue-8424
...
Don't map glyphs to the HANGUL FILLER (0x3164) Unicode location (issue 8424)
2017-05-23 11:11:42 -05:00
Yury Delendik
7b365b9372
Merge pull request #8366 from yurydelendik/rm-shelljs
...
Removes shelljs
2017-05-19 15:08:04 -05:00
Yury Delendik
c0a1ff0b32
Removes CRLF checker
2017-05-19 07:53:34 -05:00
Yury Delendik
65a1e836cf
Removes shelljs
2017-05-19 07:53:05 -05:00
Yury Delendik
32bb0e8c0e
Merge pull request #8421 from Snuffleupagus/importl10n-nightly
...
Change the `importl10n` script to use the Nightly channel
2017-05-18 15:48:35 -05:00
Yury Delendik
5dc8dcdc0f
Merge pull request #8388 from Snuffleupagus/issue-8380
...
Cache JPEG images, just as we do for other image formats, in `evaluator.js` (issue 8380)
2017-05-17 17:25:51 -05:00
Yury Delendik
15425d5b9b
Merge pull request #8400 from Snuffleupagus/ref-tests-wait-on-destroy
...
Wait for previous pdfDocument(s) to be destroyed before running the next reference test
2017-05-11 11:59:20 -05:00
Yury Delendik
372fec61c7
Merge pull request #8399 from Snuffleupagus/unit-tests-wait-on-destroy
...
Wait until `PDFDocumentLoadingTask.destroy` is resolved before calling `done` in the API unit-tests
2017-05-11 11:55:21 -05:00
Yury Delendik
9bfbf27f94
Merge pull request #8350 from ydfzgyj/fix-svg-image
...
Fix svg image render
2017-05-09 10:53:34 -05:00
Yury Delendik
595ee1232d
Merge pull request #8391 from timvandermeij/es6-web
...
Convert the hand tool, interfaces and secondary toolbar to ES6 syntax
2017-05-09 07:53:27 -05:00
Yury Delendik
3923c4a6fa
Merge pull request #8393 from Snuffleupagus/web-app-rm-self
...
Replace unnecessary `var self = this` statements with arrow functions in `web/app.js`
2017-05-09 07:48:29 -05:00
Yury Delendik
7015c88ce9
Merge pull request #8387 from evadne/issue-8386-webkit-subtle-crypto
...
amends Babel cache (#8364 ) implementation to also work on Safari
2017-05-07 13:13:20 -05:00
Yury Delendik
deae2d8cb8
Merge pull request #8368 from yurydelendik/sourcemap
...
Enables source maps for webpack generated files.
2017-05-05 09:32:27 -05:00
Yury Delendik
996805f953
Produces source maps for built files.
2017-05-05 08:15:21 -05:00
Yury Delendik
c3cfcbe72f
Merge pull request #8340 from ydfzgyj/fix-svg-spacing
...
Fix char spacing bug in SVG mode
2017-05-05 07:41:25 -05:00
Yury Delendik
206ad8d8b2
Merge pull request #8378 from Snuffleupagus/es6-modules-src-shared
...
Convert the files in the `/src/shared` folder to ES6 modules
2017-05-04 14:35:09 -05:00
Yury Delendik
b0a796ced3
Merge pull request #8377 from Snuffleupagus/web-rm-bind
...
Replace unnecessary `bind(this)` statements with arrow functions in `web/` files
2017-05-04 12:08:05 -05:00
Yury Delendik
c9d3c20e2c
Fix esprima tests.
2017-05-04 08:24:44 -05:00
Yury Delendik
3adda80f97
Merge pull request #8358 from Snuffleupagus/PartialEvaluator-method-signatures
...
Change the signatures of the `PartialEvaluator` "constructor" and its `getOperatorList`/`getTextContent` methods to take parameter objects
2017-05-04 08:10:30 -05:00
Yury Delendik
e81c067de2
Merge pull request #8370 from Snuffleupagus/src-rm-bind
...
Replace unnecessary `bind(this)` and `var self = this` statements with arrow functions in remaining `src/` files
2017-05-03 18:00:34 -05:00
Yury Delendik
e42fc546a0
Merge pull request #8369 from mozilla/brendandahl-patch-1
...
Add no-default-browser-check to chrome runner.
2017-05-03 13:44:19 -05:00
Yury Delendik
74ba3033e8
Merge pull request #8359 from Snuffleupagus/Lexer-getNumber-ignore-line-breaks
...
Ignore line-breaks between operator and digit in `Lexer.getNumber`
2017-05-03 09:43:59 -05:00