Jonas Jenwald
4b15e8566b
Remove the Function.prototype.bind
polyfill
...
This is only relevant for browsers that we don't intend to support with PDF.js version `2.0`.
2017-11-21 11:00:55 +01:00
Jonas Jenwald
d8cb74d3e3
Remove the btoa
/atob
polyfills
...
This is only relevant for browsers that we don't intend to support with PDF.js version `2.0`.
2017-11-21 11:00:55 +01:00
Jonas Jenwald
150ac0788f
Remove IE9 specific XMLHttpRequest
polyfills that utilize VBArray
2017-11-21 11:00:55 +01:00
Jonas Jenwald
935c5c587f
Remove the Object.defineProperty
polyfill
...
This is only relevant for browsers that we don't intend to support with PDF.js version `2.0`.
2017-11-21 11:00:55 +01:00
Tim van der Meij
25b07812b9
Sanitize the display value for choice widget annotations
2017-11-18 20:37:27 +01:00
Tim van der Meij
9e8cf448b0
Merge pull request #9140 from Snuffleupagus/rm-console-polyfill
...
Remove the `console` polyfills
2017-11-18 15:49:19 +01:00
Tim van der Meij
edaf4b3173
Merge pull request #9037 from Snuffleupagus/refactor-streams-params
...
Re-factor how parameters are passed to the network streams
2017-11-18 15:41:15 +01:00
Tim van der Meij
ae07adf143
Merge pull request #9073 from Snuffleupagus/image-streams-fixes
...
Fix the interface of `JpegStream`/`JpxStream`/`Jbig2Stream` to agree with the other `DecodeStream`s
2017-11-17 23:26:36 +01:00
Tim van der Meij
1d67d9dccd
Merge pull request #9131 from janpe2/svg-empty-paths
...
Filling and stroking empty paths in SVG backend
2017-11-16 22:43:24 +01:00
Jonas Jenwald
42099c564f
Remove the console
polyfills
...
All browsers that we intend to support with PDF.js version 2.0 already supports `console` natively.
2017-11-16 09:34:51 +01:00
Jonas Jenwald
d5174cd826
Remove the requestAnimationFrame
polyfill
...
According to https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame#Browser_compatibility and https://caniuse.com/#feat=requestanimationframe , the browsers we intend to support with PDF.js version 2.0 should all have native `requestAnimationFrame` support.
Note that the reason for indiscriminately polyfilling `requestAnimationFrame` in iOS, see PR 4961, was apparently because of a bug in iOS 6.
However, according to [Wikipedia](https://en.wikipedia.org/wiki/IOS_version_history#iOS_8 ): "Support for iOS 8 ended in 2017.", hence the lowest version currently supported is iOS 9.
2017-11-15 16:08:48 +01:00
Jani Pehkonen
4e8f7070da
Filling and stroking empty paths in SVG backend
2017-11-14 18:35:39 +02:00
Jonas Jenwald
745cb73c65
Remove PDFJS.disableRange
/PDFJS.disableStream
code for now unsupported browsers in src/shared/compatibility.js
...
We're currently disabling range requests and streaming for a number of configurations. A couple of those will no longer be supported (with PDF.js version 2.0), hence we ought to be able to clean up the compatibility code slightly.
2017-11-14 15:28:50 +01:00
Jonas Jenwald
eb3a1f24a3
Remove the PDFJS.disableHistory
code from src/shared/compatibility.js
...
This compatibility code is only relevant for browsers that will no longer be supported (with PDF.js version 2.0), hence we ought to be able to remove it.
2017-11-14 15:28:50 +01:00
Tim van der Meij
9686f6652c
Merge pull request #9089 from yurydelendik/rm-chunks
...
Extracts OperatorList class and prepares for streaming
2017-11-13 23:35:40 +01:00
Jonas Jenwald
23699cef1c
Re-factor how parameters are passed to the network streams
...
*This patch is the result of me starting to look into moving parameters from `PDFJS` into `getDocument` and other API methods.*
When familiarizing myself with the code, the signatures of the various network streams seemed to be unnecessarily cumbersome since `disableRange` is currently handled separately from other parameters.
I'm assuming that the explanation for this is probably "for historical reasons", as is often the case. Hence I'd like to clean this up *before* we start the larger, and more invasive, `PDFJS` parameter re-factoring.
2017-11-11 11:23:29 +01:00
Jonas Jenwald
de5297b9ea
Fix the interface of JpegStream
/JpxStream
/Jbig2Stream
to agree with the other DecodeStream
s
...
The interface of all of the "image" streams look kind of weird, and I'm actually a bit surprised that there hasn't been any errors because of it.
For example: None of them actually implement `readBlock` methods, and it seems more luck that anything else that we're not calling `getBytes()` (without providing a length) for those streams, since that would trigger a code-path in `getBytes` that assumes `readBlock` to exist.
To address this long-standing issue, the `ensureBuffer` methods are thus renamed to `readBlock`. Furthermore, the new `ensureBuffer` methods are now no-ops.
Finally, this patch also replaces `var` with `let` in a number of places.
2017-11-11 11:22:16 +01:00
Jonas Jenwald
36593d6bbc
Move JpegStream
and JpxStream
to their own files
2017-11-11 11:22:16 +01: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
Max Schaefer
3ae37d1b06
Remove a few useless assignments.
2017-11-03 11:36:48 +00:00
Max Schaefer
bc8f673522
Remove spurious arguments to NullStream
constructor.
2017-11-03 10:14:32 +00:00
Max Schaefer
3ab1a9922a
Rearrange a few declarations so that they precede their uses.
2017-11-03 10:14:32 +00:00
Jonas Jenwald
2dbd3f2603
[api-major] Remove the TypedArray polyfills
2017-11-01 10:31:28 +01:00
Brendan Dahl
b46443f0c1
Merge pull request #9077 from yurydelendik/v2
...
Version 2.0 merge
2017-10-31 14:24:20 -07:00
Jonas Jenwald
83e8398ff2
For non-embedded fonts, map softhyphen (0x00AD) to regular hyphen (0x002D) (issue 9084)
...
In the PDF file, the `ToUnicode` data first maps the hyphen correctly, and then *overwrites* it to point to the softhyphen instead. That one cannot be rendered in browsers, and an empty space thus appear instead.
Fixes 9084.
2017-10-31 13:26:04 +01:00
Jonas Jenwald
92fcfce685
Merge pull request #9082 from brendandahl/issue7562
...
Overwrite glyphs contour count if it's less than -1.
2017-10-30 20:44:01 +01:00
Yury Delendik
85f544f55a
Moves OperatorList and QueueOptimizer into separate file.
2017-10-30 13:29:58 -05:00
Brendan Dahl
17037b5e51
Overwrite glyphs contour count if it's less than -1.
...
The test pdf has a contour count of -70, but OTS doesn't
like values less than -1.
Fixes issue #7562 .
2017-10-30 09:16:51 -07:00
Yury Delendik
b4e25fb2e8
Merge remote-tracking branch 'mozilla/version-2.0' into v2
2017-10-27 14:01:45 -05: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
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
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
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
Tim van der Meij
10fd590c09
Merge pull request #9032 from Snuffleupagus/nativeImageDecoderSupport-2.0
...
Simplify the check, and remove the warning, for the `nativeImageDecoderSupport` API parameter
2017-10-20 21:30:47 +02:00
Brendan Dahl
fcc9943d04
Use charstring as plain text when lengthIV is -1.
...
Fixes #7769
2017-10-18 14:19:59 -07:00
Tim van der Meij
17cc94db4e
Merge pull request #9034 from Snuffleupagus/javascript-null
...
[api-major] Change `getJavaScript` to return `null`, rather than an empty Array, when no JavaScript exists
2017-10-17 21:58:45 +02:00
Tim van der Meij
7d7edd9cc6
[api-major] Remove the PDFJS_NEXT
option
...
Nothing uses this option anymore, so setting it is a no-op now. We can
safely remove it.
Use `SKIP_BABEL` (instead of `PDFJS_NEXT`) now if you want to skip Babel
translation for a build.
2017-10-16 23:16:51 +02:00
Jonas Jenwald
b5794bb26b
Simplify the check, and remove the warning, for the nativeImageDecoderSupport
API parameter
...
As discussed in PR 8982.
2017-10-16 09:11:39 +02:00
Jonas Jenwald
bcb29063c1
Polyfill Object.values
and Array.prototype.includes
using core-js
...
See https://github.com/zloirock/core-js#stage-4-proposals .
2017-10-16 09:11:39 +02:00
Jonas Jenwald
1cd1582cb9
[api-major] Change getJavaScript
to return null
, rather than an empty Array, when no JavaScript exists
...
Other API methods already return `null`, rather than empty Arrays/Objects, hence it makes sense to change `getJavaScript` to be consistent.
2017-10-15 22:17:14 +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
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
0f90d5130c
[api-major] Remove all remaining deprecated
functions/methods
2017-10-15 13:27:10 +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
Diego Casorran
11b1daa72d
Mispelled isEvalSupported property at FontFaceObject() creation.
2017-10-07 20:05:21 +02:00