pdfjs-dist 2.2.228 → 2.3.200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pdfjs-dist might be problematic. Click here for more details.

Files changed (84) hide show
  1. package/bower.json +1 -1
  2. package/build/pdf.js +8851 -8582
  3. package/build/pdf.js.map +1 -1
  4. package/build/pdf.min.js +1 -1
  5. package/build/pdf.worker.js +8717 -8394
  6. package/build/pdf.worker.js.map +1 -1
  7. package/build/pdf.worker.min.js +1 -1
  8. package/image_decoders/pdf.image_decoders.js +3014 -2864
  9. package/image_decoders/pdf.image_decoders.js.map +1 -1
  10. package/image_decoders/pdf.image_decoders.min.js +1 -1
  11. package/lib/core/annotation.js +203 -39
  12. package/lib/core/chunked_stream.js +32 -9
  13. package/lib/core/core_utils.js +48 -22
  14. package/lib/core/document.js +44 -33
  15. package/lib/core/evaluator.js +68 -32
  16. package/lib/core/fonts.js +2 -2
  17. package/lib/core/glyphlist.js +1 -0
  18. package/lib/core/image.js +1 -1
  19. package/lib/core/jbig2.js +23 -6
  20. package/lib/core/jpg.js +54 -23
  21. package/lib/core/jpx.js +23 -6
  22. package/lib/core/obj.js +18 -16
  23. package/lib/core/operator_list.js +17 -14
  24. package/lib/core/parser.js +9 -12
  25. package/lib/core/pattern.js +22 -7
  26. package/lib/core/pdf_manager.js +4 -4
  27. package/lib/core/primitives.js +63 -42
  28. package/lib/core/stream.js +14 -0
  29. package/lib/core/type1_parser.js +9 -1
  30. package/lib/core/worker.js +17 -56
  31. package/lib/display/annotation_layer.js +194 -85
  32. package/lib/display/api.js +331 -213
  33. package/lib/display/canvas.js +6 -1
  34. package/lib/display/content_disposition.js +1 -1
  35. package/lib/display/display_utils.js +48 -18
  36. package/lib/display/network_utils.js +6 -0
  37. package/lib/display/pattern_helper.js +22 -5
  38. package/lib/display/svg.js +1 -1
  39. package/lib/display/text_layer.js +62 -53
  40. package/lib/display/xml_parser.js +1 -1
  41. package/lib/pdf.js +2 -3
  42. package/lib/pdf.worker.js +2 -2
  43. package/lib/shared/compatibility.js +23 -19
  44. package/lib/shared/message_handler.js +163 -196
  45. package/lib/shared/streams_polyfill.js +1 -1
  46. package/lib/shared/util.js +288 -196
  47. package/lib/test/unit/annotation_spec.js +687 -93
  48. package/lib/test/unit/api_spec.js +72 -27
  49. package/lib/test/unit/display_utils_spec.js +1 -1
  50. package/lib/test/unit/evaluator_spec.js +21 -5
  51. package/lib/test/unit/fetch_stream_spec.js +3 -1
  52. package/lib/test/unit/message_handler_spec.js +10 -6
  53. package/lib/test/unit/network_spec.js +3 -1
  54. package/lib/test/unit/network_utils_spec.js +14 -0
  55. package/lib/test/unit/node_stream_spec.js +3 -3
  56. package/lib/test/unit/primitives_spec.js +2 -2
  57. package/lib/test/unit/type1_parser_spec.js +1 -1
  58. package/lib/test/unit/ui_utils_spec.js +1 -1
  59. package/lib/test/unit/util_spec.js +10 -10
  60. package/lib/web/app.js +47 -35
  61. package/lib/web/app_options.js +4 -4
  62. package/lib/web/base_viewer.js +36 -12
  63. package/lib/web/chromecom.js +1 -3
  64. package/lib/web/download_manager.js +1 -1
  65. package/lib/web/firefox_print_service.js +7 -4
  66. package/lib/web/firefoxcom.js +10 -5
  67. package/lib/web/interfaces.js +4 -0
  68. package/lib/web/pdf_document_properties.js +1 -1
  69. package/lib/web/pdf_history.js +1 -1
  70. package/lib/web/pdf_link_service.js +7 -3
  71. package/lib/web/pdf_outline_viewer.js +2 -1
  72. package/lib/web/pdf_page_view.js +12 -16
  73. package/lib/web/pdf_print_service.js +3 -5
  74. package/lib/web/pdf_sidebar.js +3 -0
  75. package/lib/web/pdf_viewer.component.js +2 -2
  76. package/lib/web/toolbar.js +2 -0
  77. package/lib/web/ui_utils.js +1 -1
  78. package/package.json +1 -1
  79. package/web/pdf_viewer.css +5 -9
  80. package/web/pdf_viewer.js +60 -45
  81. package/web/pdf_viewer.js.map +1 -1
  82. package/external/streams/streams-lib.js +0 -3962
  83. package/external/url/url-lib.js +0 -627
  84. package/lib/shared/url_polyfill.js +0 -56
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pdfjs-dist",
3
- "version": "2.2.228",
3
+ "version": "2.3.200",
4
4
  "main": "build/pdf.js",
5
5
  "description": "Generic build of Mozilla's PDF.js library.",
6
6
  "keywords": [
@@ -29,8 +29,7 @@
29
29
  position: absolute;
30
30
  white-space: pre;
31
31
  cursor: text;
32
- -webkit-transform-origin: 0% 0%;
33
- transform-origin: 0% 0%;
32
+ transform-origin: 0% 0%;
34
33
  }
35
34
 
36
35
  .textLayer .highlight {
@@ -179,13 +178,11 @@
179
178
  }
180
179
 
181
180
  .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before {
182
- -webkit-transform: rotate(45deg);
183
- transform: rotate(45deg);
181
+ transform: rotate(45deg);
184
182
  }
185
183
 
186
184
  .annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after {
187
- -webkit-transform: rotate(-45deg);
188
- transform: rotate(-45deg);
185
+ transform: rotate(-45deg);
189
186
  }
190
187
 
191
188
  .annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before {
@@ -289,9 +286,8 @@
289
286
  overflow: visible;
290
287
  border: 9px solid transparent;
291
288
  background-clip: content-box;
292
- -webkit-border-image: url(images/shadow.png) 9 9 repeat;
293
- -o-border-image: url(images/shadow.png) 9 9 repeat;
294
- border-image: url(images/shadow.png) 9 9 repeat;
289
+ -o-border-image: url(images/shadow.png) 9 9 repeat;
290
+ border-image: url(images/shadow.png) 9 9 repeat;
295
291
  background-color: white;
296
292
  }
297
293
 
package/web/pdf_viewer.js CHANGED
@@ -245,8 +245,8 @@ var _pdf_single_page_viewer = __w_pdfjs_require__(18);
245
245
 
246
246
  var _pdf_viewer = __w_pdfjs_require__(20);
247
247
 
248
- var pdfjsVersion = '2.2.228';
249
- var pdfjsBuild = 'd7afb74a';
248
+ var pdfjsVersion = '2.3.200';
249
+ var pdfjsBuild = '4ae3f9fc';
250
250
  (0, _ui_utils.getGlobalEventBus)(true);
251
251
 
252
252
  /***/ }),
@@ -462,7 +462,7 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
462
462
 
463
463
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
464
464
 
465
- function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
465
+ function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
466
466
 
467
467
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
468
468
 
@@ -1949,13 +1949,16 @@ function () {
1949
1949
  _ref$externalLinkTarg = _ref.externalLinkTarget,
1950
1950
  externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,
1951
1951
  _ref$externalLinkRel = _ref.externalLinkRel,
1952
- externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel;
1952
+ externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,
1953
+ _ref$externalLinkEnab = _ref.externalLinkEnabled,
1954
+ externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab;
1953
1955
 
1954
1956
  _classCallCheck(this, PDFLinkService);
1955
1957
 
1956
1958
  this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();
1957
1959
  this.externalLinkTarget = externalLinkTarget;
1958
1960
  this.externalLinkRel = externalLinkRel;
1961
+ this.externalLinkEnabled = externalLinkEnabled;
1959
1962
  this.baseUrl = null;
1960
1963
  this.pdfDocument = null;
1961
1964
  this.pdfViewer = null;
@@ -2229,13 +2232,13 @@ function () {
2229
2232
  return;
2230
2233
  }
2231
2234
 
2232
- var refStr = pageRef.num + ' ' + pageRef.gen + ' R';
2235
+ var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen);
2233
2236
  this._pagesRefCache[refStr] = pageNum;
2234
2237
  }
2235
2238
  }, {
2236
2239
  key: "_cachedPageNumber",
2237
2240
  value: function _cachedPageNumber(pageRef) {
2238
- var refStr = pageRef.num + ' ' + pageRef.gen + ' R';
2241
+ var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen);
2239
2242
  return this._pagesRefCache && this._pagesRefCache[refStr] || null;
2240
2243
  }
2241
2244
  }, {
@@ -2348,6 +2351,7 @@ function () {
2348
2351
 
2349
2352
  this.externalLinkTarget = null;
2350
2353
  this.externalLinkRel = null;
2354
+ this.externalLinkEnabled = true;
2351
2355
  }
2352
2356
 
2353
2357
  _createClass(SimpleLinkService, [{
@@ -2913,7 +2917,7 @@ function () {
2913
2917
  return;
2914
2918
  }
2915
2919
 
2916
- var blobUrl = _pdfjsLib.URL.createObjectURL(blob);
2920
+ var blobUrl = URL.createObjectURL(blob);
2917
2921
 
2918
2922
  _download(blobUrl, filename);
2919
2923
  }
@@ -3152,13 +3156,6 @@ document.webL10n = function (window, document, undefined) {
3152
3156
  };
3153
3157
  }
3154
3158
 
3155
- function fireL10nReadyEvent(lang) {
3156
- var evtObject = document.createEvent('Event');
3157
- evtObject.initEvent('localized', true, false);
3158
- evtObject.language = lang;
3159
- document.dispatchEvent(evtObject);
3160
- }
3161
-
3162
3159
  function xhrLoadText(url, onSuccess, onFailure) {
3163
3160
  onSuccess = onSuccess || function _onSuccess(data) {};
3164
3161
 
@@ -3337,7 +3334,6 @@ document.webL10n = function (window, document, undefined) {
3337
3334
  console.log('no resource to load, early way out');
3338
3335
  }
3339
3336
 
3340
- fireL10nReadyEvent(lang);
3341
3337
  gReadyState = 'complete';
3342
3338
  return;
3343
3339
  }
@@ -3350,7 +3346,6 @@ document.webL10n = function (window, document, undefined) {
3350
3346
 
3351
3347
  if (gResourceCount >= langCount) {
3352
3348
  callback();
3353
- fireL10nReadyEvent(lang);
3354
3349
  gReadyState = 'complete';
3355
3350
  }
3356
3351
  };
@@ -4791,7 +4786,7 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
4791
4786
 
4792
4787
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
4793
4788
 
4794
- function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
4789
+ function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
4795
4790
 
4796
4791
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
4797
4792
 
@@ -5436,8 +5431,6 @@ function () {
5436
5431
  this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
5437
5432
  this.resume = null;
5438
5433
  this.error = null;
5439
- this.onBeforeDraw = null;
5440
- this.onAfterDraw = null;
5441
5434
  this.annotationLayer = null;
5442
5435
  this.textLayer = null;
5443
5436
  this.zoomLayer = null;
@@ -5565,7 +5558,8 @@ function () {
5565
5558
  this.eventBus.dispatch('pagerendered', {
5566
5559
  source: this,
5567
5560
  pageNumber: this.id,
5568
- cssTransform: true
5561
+ cssTransform: true,
5562
+ timestamp: performance.now()
5569
5563
  });
5570
5564
  return;
5571
5565
  }
@@ -5586,7 +5580,8 @@ function () {
5586
5580
  this.eventBus.dispatch('pagerendered', {
5587
5581
  source: this,
5588
5582
  pageNumber: this.id,
5589
- cssTransform: true
5583
+ cssTransform: true,
5584
+ timestamp: performance.now()
5590
5585
  });
5591
5586
  return;
5592
5587
  }
@@ -5799,24 +5794,21 @@ function () {
5799
5794
  _this.error = error;
5800
5795
  _this.stats = pdfPage.stats;
5801
5796
 
5802
- if (_this.onAfterDraw) {
5803
- _this.onAfterDraw();
5804
- }
5805
-
5806
5797
  _this.eventBus.dispatch('pagerendered', {
5807
5798
  source: _this,
5808
5799
  pageNumber: _this.id,
5809
- cssTransform: false
5800
+ cssTransform: false,
5801
+ timestamp: performance.now()
5810
5802
  });
5811
5803
 
5812
5804
  if (!error) {
5813
- _context.next = 13;
5805
+ _context.next = 12;
5814
5806
  break;
5815
5807
  }
5816
5808
 
5817
5809
  throw error;
5818
5810
 
5819
- case 13:
5811
+ case 12:
5820
5812
  case "end":
5821
5813
  return _context.stop();
5822
5814
  }
@@ -5855,11 +5847,10 @@ function () {
5855
5847
  }
5856
5848
 
5857
5849
  div.setAttribute('data-loaded', true);
5858
-
5859
- if (this.onBeforeDraw) {
5860
- this.onBeforeDraw();
5861
- }
5862
-
5850
+ this.eventBus.dispatch('pagerender', {
5851
+ source: this,
5852
+ pageNumber: this.id
5853
+ });
5863
5854
  return resultPromise;
5864
5855
  }
5865
5856
  }, {
@@ -6499,6 +6490,7 @@ function () {
6499
6490
 
6500
6491
  this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));
6501
6492
  this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;
6493
+ this._onBeforeDraw = this._onAfterDraw = null;
6502
6494
 
6503
6495
  this._resetView();
6504
6496
 
@@ -6582,21 +6574,34 @@ function () {
6582
6574
  });
6583
6575
  var onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();
6584
6576
  this.onePageRendered = onePageRenderedCapability.promise;
6577
+ var firstPagePromise = pdfDocument.getPage(1);
6578
+ this.firstPagePromise = firstPagePromise;
6585
6579
 
6586
- var bindOnAfterAndBeforeDraw = function bindOnAfterAndBeforeDraw(pageView) {
6587
- pageView.onBeforeDraw = function () {
6588
- _this2._buffer.push(pageView);
6589
- };
6580
+ this._onBeforeDraw = function (evt) {
6581
+ var pageView = _this2._pages[evt.pageNumber - 1];
6590
6582
 
6591
- pageView.onAfterDraw = function () {
6592
- if (!onePageRenderedCapability.settled) {
6593
- onePageRenderedCapability.resolve();
6594
- }
6595
- };
6583
+ if (!pageView) {
6584
+ return;
6585
+ }
6586
+
6587
+ _this2._buffer.push(pageView);
6596
6588
  };
6597
6589
 
6598
- var firstPagePromise = pdfDocument.getPage(1);
6599
- this.firstPagePromise = firstPagePromise;
6590
+ this.eventBus.on('pagerender', this._onBeforeDraw);
6591
+
6592
+ this._onAfterDraw = function (evt) {
6593
+ if (evt.cssTransform || onePageRenderedCapability.settled) {
6594
+ return;
6595
+ }
6596
+
6597
+ onePageRenderedCapability.resolve();
6598
+
6599
+ _this2.eventBus.off('pagerendered', _this2._onAfterDraw);
6600
+
6601
+ _this2._onAfterDraw = null;
6602
+ };
6603
+
6604
+ this.eventBus.on('pagerendered', this._onAfterDraw);
6600
6605
  firstPagePromise.then(function (pdfPage) {
6601
6606
  var scale = _this2.currentScale;
6602
6607
  var viewport = pdfPage.getViewport({
@@ -6628,7 +6633,6 @@ function () {
6628
6633
  maxCanvasPixels: _this2.maxCanvasPixels,
6629
6634
  l10n: _this2.l10n
6630
6635
  });
6631
- bindOnAfterAndBeforeDraw(pageView);
6632
6636
 
6633
6637
  _this2._pages.push(pageView);
6634
6638
  }
@@ -6724,6 +6728,17 @@ function () {
6724
6728
  this._pageViewsReady = false;
6725
6729
  this._scrollMode = _ui_utils.ScrollMode.VERTICAL;
6726
6730
  this._spreadMode = _ui_utils.SpreadMode.NONE;
6731
+
6732
+ if (this._onBeforeDraw) {
6733
+ this.eventBus.off('pagerender', this._onBeforeDraw);
6734
+ this._onBeforeDraw = null;
6735
+ }
6736
+
6737
+ if (this._onAfterDraw) {
6738
+ this.eventBus.off('pagerendered', this._onAfterDraw);
6739
+ this._onAfterDraw = null;
6740
+ }
6741
+
6727
6742
  this.viewer.textContent = '';
6728
6743
 
6729
6744
  this._updateScrollMode();