Commit Graph

10281 Commits

Author SHA1 Message Date
Tim van der Meij
1294247d1b
Merge pull request #9078 from Snuffleupagus/eslint-lines-between-class-members
Update ESLint and enable the `lines-between-class-members` rule
2017-10-29 13:19:55 +01:00
Jonas Jenwald
8f9d548874 Update ESLint and enable the lines-between-class-members rule
This rule will help aid readability in `class`es, please see https://eslint.org/docs/rules/lines-between-class-members.
2017-10-29 11:41:13 +01: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
Tim van der Meij
c62a19388a Merge pull request #9072 from Snuffleupagus/more-stringToBytes
Use `stringToBytes` in more places
2017-10-26 23:20:53 +02:00
Jonas Jenwald
5e627810e4 Use stringToBytes in more places
Rather than having (basically) verbatim copies of `stringToBytes` in a few places, we can simply use the helper function directly instead.
2017-10-26 11:01:13 +02:00
Jonas Jenwald
ad74f6e741 Merge pull request #9046 from Snuffleupagus/ccitt-jbig2-stream-refactor
Extract the actual decoding in `CCITTFaxStream` into a new `CCITTFaxDecoder` "class", which the new `CCITTFaxStream` depends on
2017-10-24 18:14:01 +02:00
Jonas Jenwald
e94a0fd4e7 Extract the actual decoding in CCITTFaxStream into a new CCITTFaxDecoder "class", which the new CCITTFaxStream depends on 2017-10-24 16:03:08 +02:00
Jonas Jenwald
bb35095083 Move CCITTFaxStream and Jbig2Stream, from src/core/stream.js, to separate files 2017-10-24 12:00:40 +02:00
Jonas Jenwald
d71a576b30 Merge pull request #9045 from brendandahl/sani-name
Sanitize name index in compile phase of CFF.
2017-10-24 11:48:03 +02:00
Brendan Dahl
6b12612a52 Sanitize name index in compile phase of CFF.
Fixes #8960
2017-10-23 17:13:49 -07: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
Jonas Jenwald
3ac4baff36 Update l10n files 2017-10-23 09:54:39 +02:00
Tim van der Meij
f6bebabbcb Merge pull request #9057 from Snuffleupagus/es6-print-code
Use `let`/`const` instead of `var` in the printing code
2017-10-22 21:00:34 +02:00
Tim van der Meij
ef4a13534d Merge pull request #9058 from Snuffleupagus/web-more-let
Replace a few occurences of `var` with `let` in already ES6 converted web/ files
2017-10-22 20:58:41 +02:00
Jonas Jenwald
b0f524e65c Replace a few occurences of var with let in already ES6 converted web/ files 2017-10-22 16:23:38 +02:00
Jonas Jenwald
d14cb5eb27 Use let/const instead of var in the printing code 2017-10-22 16:13:14 +02:00
Tim van der Meij
a0ec980e63 Merge pull request #9055 from Snuffleupagus/core-js-Number
Replace `Number` polyfills with the ones from core-js
2017-10-21 16:15:11 +02:00
Tim van der Meij
32aff7889a Merge pull request #9054 from Snuffleupagus/core-js-Promise
Replace our `Promise` polyfill with the one from core-js
2017-10-21 16:14:16 +02:00
Tim van der Meij
a1d61a7502 Merge pull request #9052 from Snuffleupagus/issue-template-extension
Attempt to clarify the meaning of "extension" in the ISSUE_TEMPLATE
2017-10-21 14:24:44 +02:00
Jonas Jenwald
dbbb763eaf Replace Number polyfills with the ones from core-js
Since we're already using core-js elsewhere in `compatibility.js`, we can reduce the amount of code we need to maintain ourselves.

https://github.com/zloirock/core-js#ecmascript-6-number
2017-10-21 12:58:53 +02:00
Jonas Jenwald
8684aa0ee5 Replace our Promise polyfill with the one from core-js
Since we're already using core-js elsewhere in `compatibility.js`, we can reduce the amount of code we need to maintain ourselves.

https://github.com/zloirock/core-js#ecmascript-6-promise
2017-10-21 12:51:14 +02:00
Jonas Jenwald
40466a85e0 Attempt to clarify the meaning of "extension" in the ISSUE_TEMPLATE
Based on a number of opened issues, it seems that the "Is an extension" field might be causing some confusion as to its meaning. Without providing too much detail, I'm still thinking that we could attempt to clarify that it's referring to either of the *browser* extensions.
2017-10-21 11:32:03 +02:00
Jonas Jenwald
56c14e27e6 Merge pull request #9044 from brendandahl/plain-text-charstring
Use charstring as plain text when lengthIV is -1.
2017-10-19 11:09:39 +02:00
Brendan Dahl
fcc9943d04 Use charstring as plain text when lengthIV is -1.
Fixes #7769
2017-10-18 14:19:59 -07:00
Jonas Jenwald
4c384e151e Update l10n files 2017-10-16 09:31:16 +02:00
Tim van der Meij
815bc53a16 Merge pull request #9029 from Snuffleupagus/eslint--report-unused-disable-directives
Enable the `--report-unused-disable-directives` ESLint command line option
2017-10-15 15:12:20 +02:00
Tim van der Meij
e955168cab Merge pull request #9027 from Snuffleupagus/core-js-WeakMap
Replace our `WeakMap` polyfill with the one from core-js
2017-10-15 15:10:43 +02:00
Jonas Jenwald
04b46831c1 Enable the --report-unused-disable-directives ESLint command line option
This option was added in [version `4.8.0` of ESLint](https://github.com/eslint/eslint/releases/tag/v4.8.0), which is already listed as the minimum version in our `package.json` file; please refer to https://eslint.org/docs/user-guide/command-line-interface#--report-unused-disable-directives for additional details.

Despite the caveat listed in the link above, I still think that using this option makes sense since it will help ensure that no longer necessary disable statements are removed.
2017-10-15 13:45:12 +02:00
Jonas Jenwald
2f32131601 Replace our WeakMap polyfill with the one from core-js
Since we're already using core-js elsewhere in `compatibility.js`, we can reduce the amount of code we need to maintain ourselves.

https://github.com/zloirock/core-js#weakmap
2017-10-15 10:22:06 +02:00
Brendan Dahl
5ad945f462 Learning to spell. 2017-10-13 10:04:51 -07:00
Tim van der Meij
853db85b76 Merge pull request #9013 from Snuffleupagus/PDFHistory-nameddest
Fix a `PDFHistory` regression with document hashes of the `nameddest=...` form
2017-10-10 22:49:07 +02:00
Jonas Jenwald
33b1d1b20a Fix a PDFHistory regression with document hashes of the nameddest=... form
Unfortunately I've just found out that this isn't working entirely correct; my apologies for accidentally breaking this in PR 8775.

Compare e.g. this link: http://mirrors.ctan.org/info/lshort/english/lshort.pdf#page.157, with this one: http://mirrors.ctan.org/info/lshort/english/lshort.pdf#nameddest=page.157.

Notice how in the *second* case, the history stops working correctly.

*The various edge-case regressions in the new `PDFHistory` code is reminding my why I put off the rewrite for so long :-(*
2017-10-09 21:58:54 +02:00
Tim van der Meij
c80237729c Merge pull request #9009 from Snuffleupagus/issue-5767
Only warn about unsupported JavaScript, in the viewer, when non-empty actions exist (issue 5767)
2017-10-08 15:04:59 +02:00
Jonas Jenwald
b5a044b931 Only warn about unsupported JavaScript, in the viewer, when non-empty actions exist (issue 5767)
Some PDF files contain JavaScript actions that consist of nothing more that one, or possibly several, empty string(s). At least to me, printing a warning/showing the fallback seems completely unnecessary in that case.

Furthermore, this patch also makes use of an early `return`, so that we no longer will attempt to check for printing instructions when no JavaScript is present in the PDF file.

*Note:* It would perhaps make sense to change the API/core code, such that we ignore empty entries there instead. However, that would probably be considered a breaking changing with respect to backwards compatibility, hence this simple viewer only solution.

Fixes 5767.
2017-10-08 14:29:12 +02:00
Jonas Jenwald
ab4d5be192 Merge pull request #9008 from diegocr/patch-1
Mispelled isEvalSupported property at FontFaceObject() creation.
2017-10-07 23:12:54 +02:00
Diego Casorran
11b1daa72d Mispelled isEvalSupported property at FontFaceObject() creation. 2017-10-07 20:05:21 +02:00
Tim van der Meij
509d3728f1 Merge pull request #8922 from Snuffleupagus/paintXObject-errors
Allow `getOperatorList`/`getTextContent` to skip errors when parsing broken XObjects (issue 8702, issue 8704)
2017-10-07 15:46:26 +02:00
Tim van der Meij
bbec2ed1f1 Merge pull request #9001 from Snuffleupagus/AnnotationLayerBuilder-cancel
Prevent the `annotationLayer` from, in some cases, becoming duplicated on the first page when the document loads
2017-10-07 14:49:42 +02:00
Jonas Jenwald
ee5862bd81 Prevent the annotationLayer from, in some cases, becoming duplicated on the first page when the document loads
I don't know if this is a regression, but I noticed earlier today that depending on the initial scale *and* sidebar state, the `annotationLayer` of the first rendered page may end up duplicated; please see screen-shot below.

[screen-shot]

I can reproduce this reliable with e.g. https://arxiv.org/pdf/1112.0542v1.pdf#zoom=page-width&pagemode=bookmarks.
When the document loads, rendering of the first page begins immediately. When the sidebar is then opened, that forces re-rendering which thus aborts rendering of the first page.
Note that calling `PDFPageView.draw()` will always, provided an `AnnotationLayerFactory` instance exists, call `AnnotationLayerBuilder.render()`. Hence the events described above will result in *two* such calls, where the actual annotation rendering/updating happens asynchronously.

For reasons that I don't (at all) understand, when multiple `pdfPage.getAnnotations()` promises are handled back-to-back (in `AnnotationLayerBuilder.render()`), the `this.div` property seems to not update in time for the subsequent calls.
This thus, at least in Firefox, result in double rendering of all annotations on the first page.

Obviously it'd be good to find out why it breaks, since it *really* shouldn't, but this patch at least provides a (hopefully) acceptable work-around by ignoring `getAnnotations()` calls for `AnnotationLayerBuilder` instances that we're destroying (in `PDFPageView.reset()`).
2017-10-07 11:34:53 +02:00
Brendan Dahl
ec46967360 Merge pull request #9002 from mozilla/revert-8971-close-handler
Revert "Closes all promises/streams when handler is destroyed."
2017-10-06 10:26:24 -07:00
Yury Delendik
fab59e0f91 Revert "Closes all promises/streams when handler is destroyed." 2017-10-06 11:55:28 -05:00
Tim van der Meij
460c4e38cc Merge pull request #8994 from Snuffleupagus/PDFHistory-forward
Fix a regression that (effectively) makes `PDFHistory.forward` a no-op
2017-10-05 23:04:46 +02:00
Jonas Jenwald
e3873b29fd Merge pull request #8990 from pixelexel/fix-#8951
Added component example for single page viewer
2017-10-05 20:31:29 +02:00
Brendan Dahl
bc396efb54 Reccomend attaching pdfs instead of links. 2017-10-05 11:29:56 -07:00
pixel
484ec3d09c Added component example for single page viewer
Checking for PDFJS.PDFSinglePageViewer instead

Added component example for single page viewer
2017-10-05 23:46:02 +05:30
Jonas Jenwald
e772124339 Fix a regression that (effectively) makes PDFHistory.forward a no-op
*It appears that this accidentally broken in PR 8775.*

Note that `PDFHistory.forward` is only used with certain named actions, and these aren't that commonly used, which ought to explain why this error managed to sneak in.

Steps to reproduce the issue (and verify the fix):
 1. Navigate to e.g. http://mirrors.ctan.org/info/lshort/english/lshort.pdf
 2. Click on a couple of links, or outline items, such that the history is populated with a few entries.
 3. In the console, execute `PDFViewerApplication.pdfHistory.back()` one or more times, thus navigating back to a previous viewer position.
 4. In the console, execute `PDFViewerApplication.pdfHistory.forward() one or more times.

At the last step above, no (forward) navigation happens with the current `master`; now compare with this patch.
2017-10-05 13:56:40 +02:00