Commit Graph

9185 Commits

Author SHA1 Message Date
Yury Delendik
bf52ff156d Adds esprima-based preprocessor. 2016-10-14 08:33:22 -05:00
Jonas Jenwald
bc3bcebde2 Merge pull request #7722 from Rob--W/grab-to-pan-cssom-and-cleanup
Update to latest grab-to-pan version
2016-10-14 09:58:24 +02:00
Rob Wu
c7c6bf1ae8 Update to latest grab-to-pan version 2016-10-14 00:55:58 +02:00
Tim van der Meij
c457e6015d Merge pull request #7714 from cemerick/fix-non-numeric-TJ
Fix getTextContent evaluation to only apply TJ horizontal offsets using numeric items/args
2016-10-13 16:03:49 +02:00
Chas Emerick
85c52f1fd6 Fix getTextContent evaluation to only apply TJ horizontal offsets using numeric items/args
While the array argument to TJ should only contain strings and numbers, other
unfortunate items are found in PDFs in the wild, e.g.:

[(Grandes) 0.0 Tc
-250.0 (Client\350les,) 0.0 Tc
-250.0 (Financements) 0.0 Tc
-250.0 (et) 0.0 Tc
-250.0 (March\351s) ] TJ

getOperatorList already properly ignores any non-string, non-numeric values in
TJ arrays; without this patch to getTextContent, returned text items can have
NaN widths due to calculations being applied to those non-numeric values.
2016-10-13 08:08:31 -04:00
Tim van der Meij
8c5b925547 Merge pull request #7514 from Snuffleupagus/viewer-abort-rendering-on-close
Ensure that we cancel any pending rendering operations when the viewer is closed (issue 7274)
2016-10-11 23:48:51 +02:00
Jonas Jenwald
885ba83624 Add the number of textDivs to the textlayerrendered event, to avoid having to manually get that information in the event handler 2016-10-11 22:36:02 +02:00
Jonas Jenwald
3904be8889 Ensure that we cancel any pending textLayer rendering operations when the viewer is closed (issue 7274) 2016-10-11 22:01:22 +02:00
Jonas Jenwald
a824c6c4f6 Ensure that any pending rendering operations in PDFViewer/PDFThumbnailViewer are cancelled when the viewer is closed 2016-10-11 22:01:22 +02:00
Tim van der Meij
fb5aa58008 Merge pull request #7697 from yurydelendik/print-v2
Refactoring of printing code and mozPrintCallback polyfill
2016-10-11 21:22:07 +02:00
Yury Delendik
1a056caf88 Localization of the print dialog. 2016-10-11 10:08:13 -05:00
Yury Delendik
c09f634bb6 Removes mozPrintCallback polyfill, converts canvas to PNG. 2016-10-11 10:08:13 -05:00
Jonas Jenwald
d7148735ba Update l10n files 2016-10-09 12:11:53 +02:00
Yury Delendik
24a7a58da7 Moves mozPrintCallback specific code to firefox_printservice.js 2016-10-08 07:33:07 -05:00
Tim van der Meij
f8bd3d4473 Merge pull request #7694 from yurydelendik/print-ff
Disables Font Loading API for Firefox.
2016-10-06 23:17:12 +02:00
Yury Delendik
e336604ef1 Disables Font Loading API for Firefox. 2016-10-06 09:30:18 -05:00
Yury Delendik
e48f388d24 Merge pull request #7677 from yurydelendik/print
Bug 1302069 - Printing canvases at PDF document size.
2016-10-06 08:16:19 -05:00
Yury Delendik
29947b5a57 Printing canvases at PDF document size. 2016-10-06 07:51:45 -05:00
Tim van der Meij
9b3a91f365 Merge pull request #7671 from timvandermeij/interactive-forms-choice-fields
Interactive forms: render choice widget annotations
2016-10-05 23:27:45 +02:00
Tim van der Meij
f85f3243b1 Choice widget annotations: unit and reference testing 2016-10-05 21:25:29 +02:00
Tim van der Meij
d5d9f362aa Choice widget annotations: core and display layer implementation 2016-10-05 21:25:29 +02:00
Yury Delendik
7b2a9ee4e0 Merge pull request #7670 from Snuffleupagus/Parser_makeFilter-maybeLength
Only skip parsing a stream in `Parser_makeFilter` when we know for sure that it is empty (PR 6372 follow-up)
2016-10-05 10:38:12 -05:00
Yury Delendik
b4a90121f0 Merge pull request #7692 from yurydelendik/v1.6.210
Release of 1.6.210
2016-10-04 12:21:07 -05:00
Yury Delendik
970cf8e891 Release of 1.6.210 2016-10-04 12:19:51 -05:00
Yury Delendik
4ce2356a59 Merge pull request #7691 from yurydelendik/version-1.6
Version 1.6
2016-10-04 12:14:18 -05:00
Yury Delendik
c1539f584a Version 1.6 2016-10-04 12:12:37 -05:00
Yury Delendik
d2a4974785 Merge pull request #7681 from Snuffleupagus/bug-1122280-unit-test
Add a unit-test for annotations where the `URI` action has an incorrect encoding (bug 1122280, PR 5999)
2016-09-30 08:28:23 -05:00
Jonas Jenwald
93830032ac Add a unit-test for annotations where the URI action has an incorrect encoding (bug 1122280, PR 5999) 2016-09-30 11:44:24 +02:00
Tim van der Meij
1564dc311a Merge pull request #7618 from jeremypress/fix-enhanced-double-click
fixing #7590 by delaying div shrink after mouse up
2016-09-28 23:30:35 +02:00
Yury Delendik
869914529d Merge pull request #7656 from Snuffleupagus/issue-4090
Attempt to skip zero bytes at the end of Scan blocks when decoding JPEG images (issue 4090)
2016-09-28 11:43:38 -05:00
Yury Delendik
b4be1e91ab Merge pull request #7653 from staktrace/touch_swipe_presentation_mode
Add support for touch-swiping between pages in presentation mode (bug…
2016-09-28 11:30:37 -05:00
Kartikaya Gupta
ba9e8cb184 Add support for touch-swiping between pages in presentation mode (bug 1300878). 2016-09-28 11:35:25 -04:00
Jonas Jenwald
54ee83eb12 Attempt to skip zero bytes at the end of Scan blocks when decoding JPEG images (issue 4090) 2016-09-28 16:31:02 +02:00
Tim van der Meij
a9a3396f3d Merge pull request #7181 from yurydelendik/mouse-wheel
Simplified wheel processing
2016-09-27 22:50:50 +02:00
Yury Delendik
223a18ccc8 Simplified wheel processing. 2016-09-27 15:27:42 -05:00
Tim van der Meij
7f381c8064 Merge pull request #7661 from Snuffleupagus/bug-956965
Respect the 'ColorTransform' entry in the image dictionary when decoding JPEG images (bug 956965, issue 6574)
2016-09-27 20:22:43 +02:00
Jonas Jenwald
116ba19dd9 Respect the 'ColorTransform' entry in the image dictionary when decoding JPEG images (bug 956965, issue 6574)
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=956965.
Fixes 6574.
2016-09-26 21:55:43 +02:00
Jonas Jenwald
a22f0ae820 Only skip parsing a stream in Parser_makeFilter when we know for sure that it is empty (PR 6372 follow-up)
For PDF files with multiple `/Filter`s, where the `/Length` entry is zero, we fail to render the file correctly. The reason is that `maybeLength` is `null` for the every filter except the first, and `!maybeLength` is thus truthy.
Hence it seems that we should completely ignore the `/Length` entry and also explicitly check `maybeLength === 0`.

Note that I've not (yet) come across a PDF file with this issue in the wild, but given all the stupid things PDF generators do I wouldn't be surprised if such a file actually exists. In order to prevent a possible future bug, I'm submitting this patch which includes a hand-edited PDF file that we currently cannot render correctly (but e.g. Adobe Reader can).
2016-09-25 12:40:15 +02:00
Jonas Jenwald
4d2de9b47e Add a reduced load test for issue 7665 2016-09-25 00:19:42 +02:00
Jonas Jenwald
3e77cf6b32 Prevent an infinite loop in XRef_fetchUncompressed for encrypted PDF files with indirect objects in the /Encrypt dictionary (issue 7665) 2016-09-25 00:18:47 +02:00
Jonas Jenwald
6c263c1994 Merge pull request #7649 from timvandermeij/interactive-forms-tx-comb
Text widget annotations: implement comb support
2016-09-22 11:36:30 +02:00
Tim van der Meij
375229d6b9 Widget annotations: simplify field flag handling
Directly use the hexadecimal representation, just like the
`AnnotationFlags`, to avoid calculations and to improve readability.
This allows us to simplify the unit tests for text widget annotations as
well.
2016-09-21 21:11:37 +02:00
Tim van der Meij
7820f58c49 Merge pull request #7647 from Snuffleupagus/Annotation_appendToOperatorList-pass-in-forms
Ensure that `test/driver.js` actually takes the same `Annotation` code-path as the viewer when running `forms` tests (PR 7633 follow-up)
2016-09-21 21:09:44 +02:00
Yury Delendik
431af8cf85 Merge pull request #7652 from Snuffleupagus/resize-event-handler-prevent-error-before-eventBus-initialized
Prevent errors if the 'resize' event is fired before the `eventBus` has been initialized
2016-09-21 08:22:29 -05:00
Jonas Jenwald
1a2f142a14 Prevent errors if the 'resize' event is fired before the eventBus has been initialized
When opening a PDF file that triggers the browser fallback bar in the Firefox addon/built-in version, e.g. http://web.archive.org/web/20110918100215/http://www.irs.gov/pub/irs-pdf/f1040.pdf (with forms *disabled*), and then reloading the document an error can be thrown.
The reason is that displaying the fallback bar triggers 'resize' events, and they can arrive *before* the viewer has had a chance to run all the necessary initialization code.
2016-09-21 13:32:17 +02:00
Jonas Jenwald
5f16cbd2c0 When rendering forms, don't use element.value since it prevents the AnnotationLayer rasterizer (in test/driver.js) from parsing the elements correctly
Without this, the reference test images will have empty fields despite the viewer working as intended.
2016-09-21 12:33:04 +02:00
Jonas Jenwald
3a105e37f4 Ensure that test/driver.js actually takes the same Annotation code-path as the viewer when running forms tests (PR 7633 follow-up)
Unfortunately PR 7633 missed, and I didn't catch it during review, to update `test/driver.js` such that the `forms` tests takes the correct code-path.
This resultet in the `forms` reference test images looking better than they should, and more problematicly differing from the rendering in the viewer.

With this patch, the tests now correctly skip over any `Appearance` streams.
The `forms` tests now highlights quite clearly (e.g. look at `annotation-tx2.pdf`/`annotation-tx3.pdf`) that we cannot just skip the `Appearance` streams when rendering forms. Hence we're going to have to find a way to fix that *before* enabling forms by default, since both display *and* print would look completely wrong otherwise.
Finally, this patch also uncovers one more existing bug that still needs to be fixed, since the current `rasterizeAnnotationLayer` in `test/driver.js` isn't able to handle the contents of e.g. `<input>` and `<textarea>`.
2016-09-21 12:21:20 +02:00
Jonas Jenwald
ded01356c7 Pass in the renderInteractiveForms parameter to Annotation_appendToOperatorList, in Page_getOperatorList, instead of to the Annotation constructor (PR 7633 follow-up)
When debugging issue 7643, I noticed that the `forms` tests currently doesn't look like the rendering in the viewer (with `renderInteractiveForms = true` set).
After scratching my head for a little while, I realized that PR 7633 make the implicit assumption that `Page_getOperatorList` (in `core/document.js`) is called *before* fetching the annotation with `PDFPageProxy_getAnnotations` (in `display/api.js`).

Hence this patch, that changes it so that we instead pass in the `renderInteractiveForms` parameter to `Annotation_appendToOperatorList` to ensure that it's always correctly set.
2016-09-21 12:21:20 +02:00
Tim van der Meij
6100ab4b18 Text widget annotations: implement comb support 2016-09-20 22:31:10 +02:00
Brendan Dahl
15e1ae4e3f Merge pull request #7639 from Snuffleupagus/bug-1252420
Replace empty CharStrings with '.notdef' in `Type1Font_wrap` to prevent OTS from rejecting the font (bug 1252420)
2016-09-20 11:56:47 -07:00